记录 | .NET Core 后端项目部署IIS swagger页面报404

需求 :

最近一个课程项目需要部署.NET Core 到IIS。这个.NET Core是前后端分离的后端项目。想要部署.net core到远程服务器(阿里云 windows server 2012 R2)上,并显示swagger界面,方便前端调试。

问题:

每次部署到远程服务器iis之后都没办法打开swagger 页面

解决:

经过面向搜索引擎的debug大法 && 细心的排查(哈哈哈),发现了项目中的两个问题,解决之后就ok了。

部署IIS

方法1 直接定位到工程文件夹

方法2 发布项目后定位到发布文件夹

  • 已成功检验!

如何成功启用swagger?

参考: https://www.cnblogs.com/huanzhilu/p/12601833.html

我直接按照上述文章加入environmentVariables这三行内容时无法正常运行,显示父节点错误,所以又把<aspNetCore ...> 节点也加上了

步骤2:修改startup.cs的设置

一开始配置swagger是按照网上文章配置的,但这里报错:

排查后发现:
应该是把本地绝对地址弄到项目里面了,导致没办法打开该xml注释文件。
所以把项目里的xmlPath修改为相对地址。

至此!本地iis可以成功打开项目的swagger页面调试啦!

BUT! 同一个发布的文件移动到远程服务器部署,就....

又继续卑微debug

!! 圣光! 经过两个步骤之后 哈哈哈哈哈哈哈

step1 修改发布项目的配置

这里改成独立

step2: 再次修改startup.cs

这个大神看起来分析的很有道理:

https://www.e-learn.cn/topic/3580722


所以我也把这里改成了OutofProcess

??!!成功了!

原文地址:https://www.cnblogs.com/cindycindy/p/13613691.html