服务器win2008server R2 x64 部署.net core到IIS 并解决ASP .NET Core HTTP Error 502.5 – Process Failure 的问题等
1、发布网站 ;
2、安装 vc_redist.x64 (visual c++ redistributable for visual studio 2015) 新装的系统没装的补丁,装过略过;
3、安装windowshosting :如: dotnet-hosting-2.1.3-win ;
4、安装.net core sdk: 如:dotnet-sdk-2.1.401-win-x64 ;
注意3,4版本要一致; https://www.microsoft.com/net/download/dotnet-core/2.1
5、重启iis服务器,cmd 中输入 iisreset.
6、添加netcore站点,应用程序池的.net framework版本选择“无托管代码”:application pool应用池-> 高级 -> 标识 将原来applicationpoolidentity改为对数据库有访问权限和网站文件有读写权限的windows用户(这里需要确定这个windows用户可以登录数据库,不行可以在数据库安全设置添加。当然你也可以将数据库连接字符窜改为数据库用户和密码访问,比如:sa),然后重启应用池,重启网站浏览
7、 浏览程序
浏览程序报错 1 :an error occurred while starting the application.
看不到详细信息需要修改web.config 查看详细信息 将stdoutlogenabled的修改为 true,并在应用程序根目录添加 logs 文件夹<aspnetcore processpath="dotnet" arguments=". \tzky.saas.web.host.dll" stdoutlogenabled="true" stdoutlogfile=".\logs\stdout" forwardwindowsauthtoken="false" />再浏览网站,当然还是报错,现在到logs目录查看报错详细信息
浏览程序报错2:asp .net core http error 502.5 – process failure
这个问题有两个思路:
第一 : windowshosting 和 .net core sdk的版本不一致导致;重新注重安装;
第二 :服务器缺补丁;验证 dotnet 是否能正常使用,在cmd中 进入 c:\program files\dotnet>dotnet --version
cmd 报错3:提示 api ms win crt runtime 1-1-0.dll 丢失,dotnet 启动程序失败。
安装 vc_redist.x64 (visual c++ redistributable for visual studio 2015) 后还有错误:
files\dotnet\host\fxr\1.0.1\hostfxr.dll], hresult: 0x8007007e】错误
errorcode = '0x80004005 : 80008082.
kb2999226 微软下载链接 https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows
kb3118401 微软下载链接 https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows
需要下载安装kb2999226补丁程序 ,注意是win2008server r2 x64 版本的;
cmd 报错4:files\dotnet\host\fxr\1.0.1\hostfxr.dll], hresult: 0x80070057】错误
win2008server r2 x64 部署.net core到iis上出现【failed to load the dll from [c:\program files\dotnet\host\fxr\1.0.1\hostfxr.dll], hresult: 0x80070057】错误
解决方法: 需要安装补丁:kb2533623 下载地址如下:https://support.microsoft.com/en-us/kb/2533623 需要重启
重启后 用dotnet 命令在项目根目录下直接运行你的web程序,例如 dotnet xxxweb.dll 正常启动:
最后祝君成功!