我需要托管 asp.net core 2.0 app in Windows> Windows Server 2008 R2 SP 1。我正在遵循有关如何在Windows上使用IIS托管ASP.NET核心的文档指南。
安装后,我仍然无法运行dotnet.exe
。它要求一个名为api-ms-win-crt-runtime-l1-1-0.dll
的DLL。
程序无法启动,因为您的计算机缺少API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL。尝试重新安装程序以解决此问题。
但是,在以下文件夹中,该文件的实例有很多:
-
C:Program FilesdotnetsharedMicrosoft.NETCore.App2.0.3
-
C:Program Files (x86)dotnetsharedMicrosoft.NETCore.App2.0.3
-
C:Windowswinsxsamd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.18972_none_a9a51144251fb166
-
C:Windowswinsxsamd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23175_none_aa31870f3e3ad077
-
C:Windowswinsxsamd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23656_none_aa4830af3e29a3af
-
C:Windowswinsxsx86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.18972_none_4d8675c06cc24030
-
C:Windowswinsxsx86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23175_none_4e12eb8b85dd5f41
-
C:Windowswinsxsx86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23656_none_4e29952b85cc3279
指令说:
在托管系统上安装 .NET Core Windows Server hosting 捆绑包。[...]如果系统没有Internet连接,请在安装.NET Core Windows Windows Server Hosting Bundle之前获取并安装 Microsoft Visual C 2015 ReDistributable 。
我已经多次安装/修复了这两个软件包,但会遇到相同的错误。
可能不是dll 缺少,而是dll的依赖项之一是丢失的。
-
确保您正在安装Visual C 2015 Repistributable的更新版本。
-
Visual C 2015重新分布的要求之一是KB2999226。确保也已安装。
- 如果已经安装,请从Visual C 2015 Repistributable安装程序软件包中发布安装日志。
在Windows Server 2012 R2上我也有同样的问题。Windows Update 安装Windows特定更新已解决。
请参阅:https://github.com/dotnet/core-setup/issues/4388。
我安装了此更新:https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows
tl; dr; dr:在此顺序中安装这些Windows 8.1更新::
- KB2919442
- KB2919355
- KB2999226
按照正确的顺序安装上述3个Windows更新后,关于丢失的dll
的错误应停止。
我在尝试部署 .NET Core 2.1 应用程序时遇到了同样的问题。根本原因似乎是由于Microsoft Visual C++ Redistributable
的损坏安装。
来自Microsoft的文档:
Visual C 重新分布软件包安装运行时组件视觉C 库在没有视觉C 的计算机上安装。库需要运行的应用程序通过使用Visual C 的相应版本开发。
经过一些故障排除和研究后,我通过在此顺序中手动安装这3个Windows更新来解决问题:
- KB2919442
- KB2919355(需要重新启动)
- KB2999226
这些Windows更新的安装顺序很重要! KB2999226取决于KB2919355,而KB2919355依赖于KB2919442。
安装这些Windows更新后,dotnet.exe
和应用程序开始正确运行。