需求 :
最近一個課程項目需要部署.NET Core 到IIS。這個.NET Core是前后端分離的后端項目。想要部署.net core到遠程服務器(阿里雲 windows server 2012 R2)上,並顯示swagger界面,方便前端調試。
問題:
每次部署到遠程服務器iis之后都沒辦法打開swagger 頁面
解決:
經過面向搜索引擎的debug大法 && 細心的排查(哈哈哈),發現了項目中的兩個問題,解決之后就ok了。
部署IIS
方法1 直接定位到工程文件夾
方法2 發布項目后定位到發布文件夾
- 已成功檢驗!
如何成功啟用swagger?
我直接按照上述文章加入environmentVariables
這三行內容時無法正常運行,顯示父節點錯誤,所以又把<aspNetCore ...>
節點也加上了
步驟2:修改startup.cs的設置
一開始配置swagger是按照網上文章配置的,但這里報錯:
排查后發現:
應該是把本地絕對地址弄到項目里面了,導致沒辦法打開該xml注釋文件。
所以把項目里的xmlPath修改為相對地址。
至此!本地iis可以成功打開項目的swagger頁面調試啦!
BUT! 同一個發布的文件移動到遠程服務器部署,就....
又繼續卑微debug
!! 聖光! 經過兩個步驟之后 哈哈哈哈哈哈哈
step1 修改發布項目的配置
這里改成獨立
step2: 再次修改startup.cs
這個大神看起來分析的很有道理:
所以我也把這里改成了OutofProcess
??!!成功了!