要調試已部署到IIS的ASP.NET應用程序,請在部署應用程序的計算機上安裝並運行遠程工具,然后從Visual Studio附加到正在運行的應用程序。
下面介紹如何設置和配置Visual Studio ASP.NET MVC 4.5.2應用程序,將其部署到IIS,以及如何從Visual Studio附加遠程調試器。
Visual Studio 2019 需按照本文中所示的步驟。
這些服務器配置上進行了測試這些過程:
- Windows Server 2012 R2 和 IIS 8 (對於 Windows Server 2008 R2 中,服務器,步驟會有所不同)
不支持調試通過代理連接的兩台計算機之間。 調試通過高延遲或低帶寬連接,例如撥號 Internet,或通過 Internet 跨國家/地區不建議並可能會失敗或很令人無法接受慢。
-
如果在 IIS 中運行您的應用程序,並且只是想要下載遠程調試器和啟動調試,請轉到下載並安裝 Windows Server 上的遠程工具。
-
如果需要幫助,確保您的應用程序設置已完成,部署,並正確運行在 IIS 中,以便可以調試,請按照本主題中的所有步驟。
-
創建新的 MVC ASP.NET 應用程序。
在 Visual Studio 2019,鍵入Ctrl + Q若要打開搜索框中,鍵入asp.net,選擇模板,然后選擇創建新 ASP.NET Web 應用程序 (.NET框架) 。 在顯示對話框中,該項目命名MyASPApp,然后選擇創建。 選擇MVC ,然后選擇創建。
-
打開 HomeController.cs 文件,並在
About()
方法中設置斷點。
安裝和 Windows Server 上配置 IIS
以下步驟演示了基本配置的 IIS。 有關詳細信息或安裝到 Windows 桌面計算機,請參閱發布到 IIS或IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。
對於 Windows Server 操作系統,使用添加角色和功能通過向導管理鏈接或儀表板中的鏈接服務器管理器. 在“服務器角色”步驟中,選中“Web 服務器(IIS)”框 。
在“角色服務”步驟中,選擇所需 IIS 角色服務,或接受提供的默認角色服務 。 如果你想要啟用部署使用的發布設置和 Web 部署,請確保IIS 管理腳本和工具處於選中狀態。
繼續完成安裝 web 服務器角色和服務的確認步驟。 安裝 Web 服務器 (IIS) 角色后無需重啟服務器/IIS。
如果在 Internet Explorer (默認情況下已啟用) 中啟用了增強的安全配置,您可能需要將某些域添加為受信任的站點,以便可以下載某些 web 服務器組件。 添加可信的站點,通過轉到Internet 選項 > 安全性 > 受信任的站點 > 站點。 添加以下域。
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
下載軟件時,可能會顯示請求授予權限以加載各種 web 站點腳本和資源。 以下一些資源不是必需的但若要簡化此過程中,單擊添加出現提示時。
如果你想要在 IIS 上安裝 ASP.NET 的更多詳細的信息,請參閱IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。
-
在服務器管理器的左窗格中,選擇IIS。 右鍵單擊服務器並選擇“Internet Information Services (IIS)管理器” 。
-
使用 Web 平台安裝程序 (WebPI) 安裝 ASP.NET 4.5 (從 Windows Server 2012 R2 中的服務器節點,選擇獲取新的 Web 平台組件,然后搜索 ASP.NET)
如果使用 Windows Server 2008 R2,安裝 ASP.NET 4 改為使用此命令:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
-
重啟系統(或在命令提示符處依次執行“net stop was /y”和“net start w3svc”,了解系統路徑的更改) 。
如果您需要幫助將應用部署到 IIS,請考慮這些選項:
-
通過在 IIS 中創建的發布設置文件和導入 Visual Studio 中的設置部署。 在某些情況下,這是一種將應用部署的快速方法。 創建發布設置文件時,權限自動將會在 IIS 中設置。
-
部署發布到本地文件夾並將輸出的首選方法復制到 IIS 上的已准備好應用程序文件夾。
-
Visual Studio 計算機上,打開要調試的解決方案 (MyASPApp在您按照這篇文章中的步驟)。
-
在 Visual Studio 中,單擊調試 > 附加到進程(Ctrl + Alt + P)。
在 Visual Studio 2017 和更高版本中,您可以重新附加到您以前使用附加到的同一個進程調試 > 重新附加到進程... (Shift + Alt + P)。
-
將限定符字段設置為 <遠程計算機名稱> 然后按Enter。
驗證 Visual Studio 將所需的端口添加到計算機名稱,將出現在格式: <遠程計算機名稱>:端口
在 Visual Studio 2019,你會看到 <遠程計算機名稱>:4024
端口是必需的。 如果看不到的端口號,請手動添加它。
-
單擊“刷新” 。 “可用進程” 窗口中將顯示某些進程。
如果看不到任何進程,請嘗試使用的 IP 地址而不遠程計算機名稱 (端口是必需的)。可以使用
ipconfig
獲取 IPv4 地址的命令行中。 -
勾選“顯示所有用戶的進程” 。
-
鍵入進程名稱,可以快速找到的第一個字母w3wp.exe為 ASP.NET 4.5。
如果有多個進程顯示w3wp.exe,檢查用戶名列。 在某些情況下,用戶名列顯示你的應用程序池名稱,如IIS APPPOOL\DefaultAppPool。 如果你看到應用程序池標識正確的進程的簡單辦法是創建一個新應用池命名為你想要調試的應用程序實例,然后您可以找到它輕松地在用戶名列。
-
單擊“附加”
-
打開遠程計算機的網站。 在瀏覽器中,轉到 http://<remote computer name> 。
將顯示 ASP.NET 網頁。
-
在運行的 ASP.NET 應用程序,單擊鏈接到有關頁。
應在 Visual Studio 中命中斷點。
在Azure VM上,您必須通過網絡安全組打開端口。
所需端口:
- 80 - IIS必需
- 4024 - 從Visual Studio 2019進行遠程調試時需要(有關詳細信息,請參閱遠程調試器端口分配)。
- UDP 3702 - (可選)在Visual Studio中附加到遠程調試器時,發現端口使您可以使用“ 查找”按鈕。
-
若要打開 Windows 服務器上的端口,請打開啟動菜單中,搜索高級安全 Windows 防火牆。
-
然后選擇入站規則 > 新規則 > 端口。 選擇下一步並在特定本地端口,輸入端口號,單擊下一步,然后允許連接,單擊下一步,和添加名稱 (IIS, Web Deploy,或msvsmon) 的入站規則。
如果您想配置 Windows 防火牆的詳細信息,請參閱配置 Windows 防火牆以進行遠程調試。
-
創建其他規則中的其他所需的端口。