在Win7的机器上部署ASP.Net Core程序,老是提示502.5错误。已经安装了 Microsoft Visual C++ 2015 Redistributable,.NET Core Windows Server Hosting bundle和对应的SDK,但程序就是跑不起来。

直接使用dotnet命令程序是可以正常跑的,说明环境都没问题。

Windows日志

查看了Windows的错误日志,不知道是不是系统的问题,因为并不是在所有的机器上都会遇到。各种谷歌百度也没什么结果。

Application 'MACHINE/WEBROOT/APPHOST/NETCORE' with physical root 'F:\DotNetCore\ZKEACMS\src\ZKEACMS.WebHost\bin\Release\PublishOutput\' 
failed to start process with commandline 'dotnet .\ZKEACMS.WebHost.dll', ErrorCode = '0x80070002 : 0.

解决问题方式一

在不断尝试的过程中发现,使用自包含运行时发布,程序可正常运行。

解决问题方式二

0x80070002的问题应该是找不到路径,但环境变量的PATH设置并没有问题,所以尝试以下方式解决。

首先查看一下dotnet core的安装目录,在命令行中输入where dotnet

打开程序的web.config,修改processPath="dotnet"为完整的路径processPath="C:\Program Files\dotnet\dotnet.exe"

以上两种方式都可以解决502.5的问题,如果您部署过程中也遇到了该问题,不妨尝试使用以上方式解决。

如果用命令也不能运行,安装系统补丁或许有帮助:http://www.cnblogs.com/tianma3798/p/7434660.html