IIS部署.net core 3.1踩坑总结
1、打包发布:我采用文件系统方式
2、应用程序池配置
3、踩坑:HTTP Error 500.30 错误
这个错误折磨很长一段时间,各种查询解决方案。
①以下插件根据自己的版本统一下载。
服务器装aspnetcore-runtime-3.1.8-win-x64.exe
下载链接:https://dotnet.microsoft.com/download/dotnet-core/3.1
服务器装dotnet-hosting-3.1.1-win.exe
注意:安装dotnet-hosting-3.1.1-win.exe可能导致所有的应用程序池都停止了,手动起来也会自定停止,这个时候不要慌,把dotnet-hosting-3.1.1-win.exe卸载了,再安装vc_redist.x64.exe,下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=48145
②iis配置日志
然后运行项目,查看日志发现下面这个错误,复制错误信息查询发现是DTC没有启动,启动了DTC后500.30就解决了
③错误信息
我更改了Web.config中的规范以使其无法运行。最初,该规范是针对InProcess的,如下所示:
<aspNetCore processPath="dotnet" arguments=".\Cashflow.dll" stdoutLogEnabled="false" hostingModel="InProcess" stdoutLogFile=".\logs\stdout">
将InProcess更改为OutOfProcess:
<aspNetCore processPath="dotnet" arguments=".\Cashflow.dll" stdoutLogEnabled="false" hostingModel="OutOfProcess" stdoutLogFile=".\logs\stdout">
这个错误就解决了。
④代码配置了跨域处理,iis部署后还是报错跨域问题
待续....文字待整理,先简单记录下