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部署后还是报错跨域问题

 

 

 待续....文字待整理,先简单记录下

posted @ 2020-09-17 15:42  ৢ清欢ꦿ✿  阅读(1877)  评论(1编辑  收藏  举报