我刚刚将服务器(Windows 2012R2).Net Core 1.0 RTM从上一个更新为Windows Hosting Pack .Net Core 1.0 RC2。我的应用程序可以在 PC 上正常运行,但服务器始终显示:
.Net Core 1.0 RTM
.Net Core 1.0 RC2
HTTP Error 502.5 - Process Failure Common causes of this issue: The application process failed to start The application process started but then stopped The application process started but failed to listen on the configured port
它以前与RC2版本一起使用。不知道会出什么问题。
这就是事件查看器说的所有内容:
Failed to start process with the commandline 'dotnet .\MyWebApp.dll'. Error code = '0x80004005'.
最糟糕的是,应用程序日志为 空! 我的意思是那些stdout_xxxxxxxxx.log文件完全为空,并且所有字节均为0。
我该怎么办??未记录错误时如何知道错误原因?
所以我有了一个新服务器,这次是Windows 2008R2,我的应用程序运行正常。
我不能肯定地说旧服务器出了什么问题,但是我有一个主意。
因此,因为我以前在编译该应用程序时 没有考虑 任何平台,所以它为我提供了dll仅在目标主机已.Net Core Windows Hosting安装软件包的情况下才能使用的版本。就我而言,它已经 安装好了 。
dll
.Net Core Windows Hosting
该应用程序无法正常运行后,我决定将其作为具有win7-x64运行时的控制台应用程序进行编译。这次exe我在服务器上运行我的应用程序的那一刻,它崩溃并出现有关缺少dll的错误:
win7-x64
exe
The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing
该dll来自Universal C Runtime,该文件包含在 Visual Studio 2015 的 Visual C ++可再发行组件中 。
我尝试安装该软件包(x64和x86),但每次在Windows Server 2012 R2上都失败(不知道为什么)。
但是,当我尝试将它们安装在新服务器Windows Server 2008 R2中时,它们已成功安装。这可能是其背后的原因,但仍不能确定。