windows dotnet.exe不会运行,因为缺少api-ms-win-crt-runtime-l1-1-0.dll

rks48beu  于 2023-05-19  发布在  Windows
关注(0)|答案(3)|浏览(395)

我需要在Windows Server 2008 R2 SP1上的IIS中托管ASP.NET Core 2.0应用程序。我正在遵循文档指南中关于如何使用Host ASP.NET Core on Windows with IIS
安装后,我仍然无法运行dotnet.exe。它调用一个名为api-ms-win-crt-runtime-l1-1-0.dll的DLL。
程序无法启动,因为您的计算机中缺少api-ms-win-crt-runtime-l1-1-0.dll。尝试重新安装程序以解决此问题。
但是,计算机上有 * 很多 * 此文件的示例,位于以下文件夹中:

  • C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.3
  • C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\2.0.3
  • C:\Windows\winsxs\amd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.18972_none_a9a51144251fb166
  • C:\Windows\winsxs\amd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23175_none_aa31870f3e3ad077
  • C:\Windows\winsxs\amd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23656_none_aa4830af3e29a3af
  • C:\Windows\winsxs\x86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.18972_none_4d8675c06cc24030
  • C:\Windows\winsxs\x86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23175_none_4e12eb8b85dd5f41
  • C:\Windows\winsxs\x86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23656_none_4e29952b85cc3279

说明书上说:
在宿主系统上安装**.NET Core Windows Server Hosting捆绑包。[...]如果系统没有Internet连接,请在安装.NET Core Windows Server Hosting捆绑包之前获取并安装Microsoft Visual C++ 2015 Redistributable**。
我已经安装/修复这两个软件包多次,但得到相同的错误。

w8rqjzmb

w8rqjzmb1#

这可能不是因为DLL * 丢失 *,而是DLL的某个依赖项丢失了。
1.请确保您正在安装Visual C++ 2015可再发行组件的Update 3 version

  • Visual C++ 2015 Redistributable的一个要求是KB2999226。确保也安装了这个。
  • 如果已安装,请从Visual C++ 2015 Redistributable安装程序包发布安装日志。
k5ifujac

k5ifujac2#

在Windows Server 2012 R2上,我遇到了同样的问题。Windows更新+安装Windows特定更新解决了它。
参见:https://github.com/dotnet/core-setup/issues/4388
我安装了这个更新:https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows

6ojccjat

6ojccjat3#

**TL;DR:按以下顺序安装这些Windows 8.1更新

  1. KB2919442
  2. KB2919355
  3. KB2999226
    按照正确的顺序安装上述3个Windows更新后,有关缺少dll的错误应该停止。
    在尝试将**.NET Core 2.1应用程序部署到Windows 2012 R2计算机时,我遇到了基本上相同的问题。根本原因似乎是由于Microsoft Visual C++ Redistributable的安装损坏。
    Microsoft's documentation
    Visual C可再发行组件包在未安装Visual C的计算机上安装Visual C库的运行时组件。这些库是运行使用相应版本的Visual C开发的应用程序所必需的。
    经过一些故障排除和研究后,我通过手动安装以下3个Windows更新
    按以下顺序**解决了此问题:
  4. KB2919442
  5. KB2919355(需要重新启动)
  6. KB2999226

**这些Windows更新的安装顺序很重要!**KB 2999226依赖于KB 2919355,KB 2919355依赖于KB 2919442。

安装这些Windows更新后,dotnet.exe和应用程序开始正常运行。

相关问题