Http Error 502.5 - Process Failure
如果你看到上面这张图片了的话,说明你在本地运行的时候报错了。
尤其好多都是我的群友,说下情况。
这个一般是本地的.NET Core SDK版本不统一报错造成的。
原因
这个锅是微软的,我在Github上有一个ASP.NET CORE + EF COER的学校案例。
开源地址:https://github.com/52ABP/52ABP.School
这个也录制成为了视频。
当时的项目版本为.NET CORE 2.0,所以现在有很多群友下载然后运行就报错了。
现在是因为下载的SDK是2.1 。所以版本对应不上就GG 了。
理论上来说.NET CORE 2.1X是需要进行向下兼容的。但是不知道为什么这把就没有做好。
原因:项目的SDK版本和运营环境的SDK版本对应不上。
解决方案有两种,一种是升级项目的.NET CORE版本,还有一种就是安装对应的.NET CORE版本。
解决思路
首先你要去找你的IIS报错日志,得到的错误代码 ErrorCode = '0x80004005 : 8000808c.
是这个的话,那就可以通过我说的办法来解决了。
第一种
通过直接修改web.config 的文件。
<aspNetCore processPath="dotnet" arguments=".\LTM.School.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
将 processPath="dotnet"
改成你安装的.NET CORE SDK路径,一般默认在"C:\Program Files\dotnet\dotnet.exe"路径下,替换下就可以解决了。
这种一般是常规加临时解决方案,不稳定。
第二种
下载对应版本的SDK地址:https://www.microsoft.com/net/download/archives
找到对应的大版本,然后里面有具体的版本信息。
但是有个问题,你如果已经装了高版本的SDK,是无法安装低版本的SDK的,所以也不推荐这个办法。
第三种【推荐办法】
升级你项目的SDK.比如https://github.com/52ABP/52ABP.School 的.NET Core版本就是2.0,直接升级到2.1后,发布环境,所有的问题迎刃而解。
.NET Core 还很年轻,大家多给他点时间。相信他会改变不一样的开发环境。
毕竟 Java都开始收费了,大家的机会就来了嘛。
最后
52ABP学校的Demo,已经发布出来了。大家可以体验,.NET CORE 2.1.3的版本。
站点:http://school.yoyocms.com/
就这样,后面得空会放出.NET CORE 2.0 升级到2.1的方法。也很简单。