我需要在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**。
我已经安装/修复这两个软件包多次,但得到相同的错误。
3条答案
按热度按时间w8rqjzmb1#
这可能不是因为DLL * 丢失 *,而是DLL的某个依赖项丢失了。
1.请确保您正在安装Visual C++ 2015可再发行组件的Update 3 version。
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
6ojccjat3#
**TL;DR:按以下顺序安装这些Windows 8.1更新:
按照正确的顺序安装上述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更新按以下顺序**解决了此问题:
**这些Windows更新的安装顺序很重要!**KB 2999226依赖于KB 2919355,KB 2919355依赖于KB 2919442。
安装这些Windows更新后,
dotnet.exe
和应用程序开始正常运行。