IIS調試ASP.NET Core項目
-
新建一個ASP.NET Core Web項目,選擇API模板或隨便一個模板都行
-
新建一個名為localhost的發布(沒試過遠程主機,或許也可以),主要設置如下:
連接頁
發布方法:Web部署
服務器:localhost
站點名稱:Default Web Site/{任意合法名稱}
設置頁
配置:Debug
目標框架:與項目所用框架一致 (當前選的netcoreapp2.2)
部署模式:框架依賴
目標運行時:可移植
-
執行發布,會在IIS中自動創建站點和應用程序池,檢查創建的應用程序池是否為:無托管代碼 + 集成
-
瀏覽該網站,確保能正常打開
-
在Visual Studio中選擇"調試\附加到進程..."菜單,在彈出的對話框中選擇相應的進程
可以輸入關鍵字"w3wp"來過濾出IIS進程,ASP.NET Core網站進程在類型列的值為"托管(CoreCLR)",還可以通過用戶名列進一步分辨。
如果沒有見到相關進程,可以嘗試按一按[刷新]按鈕。
附加成功后,在相應的方法內部加斷點,然后通過瀏覽器訪問該方法,斷點將會命中。
-
還有一種一步到位的調試方法,打開項目屬性對話框,選擇"調試"頁,新建一個配置(例如名為IIS)
啟動:IIS
參數:默認沒有
√啟動瀏覽器:可指定啟動時瀏覽的URL,不指定則瀏覽默認頁面
環境變量:ASPNETCORE_ENVIRONMENT = Development
Web 服務器設置
應用URL:{網站路徑} 如:http://localhost/webapplication1
托管模型:默認
在工具條上選擇剛才創建的調試配置(IIS),然后按綠色三角圖標開始調試,斷點一樣會命中。
此外,這種方式能調試Program.cs和Startup.cs文件內的方法,在開始調試之前需要先結束已經運行的站點實例,簡單一點的做法就是重啟IIS中的相應網站。
-
注意,在修改了代碼之后,必須再次發布到IIS才能調試新的代碼,不過有"Web 一鍵式發布"功能,發布都是So Easy!