在IIS中除錯ASP.NET Core應用程式
IIS中的除錯提供了更平滑的開發過程,無需考慮您的Web伺服器是否正在執行。
我已經使用ASP.NET核心了一段時間,並且總是錯過了Visual Studio中的直接IIS支援。必須記住啟動專案才能啟動IIS Express,這有點令人討厭。在開發軟體時,我們希望實際的除錯和執行過程儘可能自動化,而使用IIS Express,它們根本不是。
簡單地啟動瀏覽器並立即除錯JavaScript要快得多,而無需確保IIS Express站點實際執行。並且,無需啟動和停止您的網站,使開發更快。
從本質上講,目標是讓您的Web伺服器全天候執行,而不必三思而後行。因此,第一步是在您的開發機器上實際啟用
啟用IIS
- 導航到 控制面板 > 程式 > 程式和功能 > 開啟或關閉Windows功能 (螢幕左側)。
- 選中“ Internet資訊服務” 複選框:
下一步是配置IIS並確保您具有SSL證書設定,以便在瀏覽器中安全地執行您的站點。如果您之前已經安裝過IIS,只需在預設網站上新增HTTPS繫結以允許https
配置 IIS
新網站的 主機名設定為“localhost”(啟動配置檔案也將在Visual Studio中使用“localhost”)。埠設定為“443”(HTTPS)。在 IIS Express開發證書分配給網站,但任何有效證書都有效:
前兩個步驟很簡單,無論您在應用程式中使用.NET框架還是.NET核心,都是一樣的。我已經設法使用Visual Studio 2017使用IIS進行除錯。因此,我強烈建議您安裝Visual Studio 2017(如果尚未安裝)。
接下來,我們必須在Visual Studio中啟用開發時IIS支援:
在Visual Studio 2017
- 啟動Visual Studio安裝程式。
- 選擇 開發時間IIS支援 元件。該元件在ASP.NET和Web開發工作負載的“摘要”面板中列為可選項。該元件安裝 ASP.NET核心模組,這是使用IIS執行ASP.NET核心應用程式所需的本機IIS模組:
現在,我們終於可以在VS2017中建立一個新的ASP.NET Core應用程式。好吧,還沒有!我曾經訪問過微軟和其他開發人員的幾篇文章,但他們都缺少關鍵元件:ASP.NET Core 2.2。不要使用2.1或任何其他版本。在沒有2.2的情況下,我實際上無法在IIS中進行應用程式除錯。但是,這是我寫這樣一篇文章的主要原因。我沒有通過其他文章,也沒有刪除它,而是從他們身上學到了什麼,並寫了一篇更好的文章,實際上讓開發人員無需瞭解重要資訊。
您可以在此處下載.NET core 2.2:https://dotnet.microsoft.com/download/dotnet-core/2.2
現在,您已經安裝了.NET核心SDK 2.2,我們最終可以建立一個新專案:
建立新的ASP.NET Core 2.2專案
確保在建立新專案時選中“配置HTTPS ”複選框:
接下來,我們需要在新專案中配置除錯選項卡。這涉及設定啟動配置檔案以正確啟動IIS:
IIS啟動配置檔案
建立新的啟動配置檔案以新增開發時IIS支援:
- 對於Profile,選擇New按鈕。在彈出視窗中將配置檔案命名為“IIS”。選擇“確定”以建立配置檔案。
- 對於“啟動”設定,從列表中選擇“IIS”。
- 選中“啟動瀏覽器”複選框並提供端點URL。使用HTTPS協議。此示例使用https:// localhost/TestIISWithCore。
- 在“環境變數”部分中,選擇“新增”按鈕。提供名稱為ASPNETCORE_ENVIRONMENT且值為Development的環境變數。
- 在“Web伺服器設定”區域中,設定應用程式URL。將其設定為與您在步驟3中輸入的URL相同。
- 儲存配置檔案:
您現在應該能夠使用IIS除錯您的應用程式。確保將構建配置設定為Debug,將配置檔案設定為IIS。然後單擊“執行”按鈕以啟動應用程式:
你完成了。您現在可以在IIS中正式除錯ASP.NET Core應用程式。當然,這仍然是個人喜好的問題,我總是喜歡在IIS中除錯我的應用程式而不是在IIS Express中。
原文地址:https://www.codeproject.com/Articles/1273958/Debugging-ASP-NET-Core-applications-within-IIS