在遠端 IIS 電腦上進行 ASP.NET 遠端偵錯
若要偵錯已部署至 IIS 的 ASP.NET 應用程式,請在部署應用程式的電腦上安裝並執行遠端工具,然後從 Visual Studio 附加至執行中的應用程式。
本指南說明如何設定及設定 Visual Studio ASP.NET MVC 4.8 應用程式、將其部署至 IIS,以及從 Visual Studio 附加遠端調試程式。
注意
若要改為遠端偵錯 ASP.NET Core,請參閱 IIS 電腦上的遠端偵錯 ASP.NET Core。 針對 Azure App Service,請參閱 在 Azure 上遠端偵錯 ASP.NET Core;若使用 Visual Studio Enterprise,請使用 快照調試器 (需要 .NET 4.6.1)。
先決條件
需要 Visual Studio 2019 或更新版本,才能遵循本文所示的步驟。
這些程式已在這些伺服器組態上進行測試:
- Windows Server 2022 和 IIS 10
- Windows Server 2012 R2 和 IIS 8 (針對 Windows Server 2008 R2,伺服器步驟不同)
網路需求
從 Windows Server 2008 Service Pack 2 開始,Windows Server 支援遠端調試程式。 如需完整的需求清單,請參閱 需求。
注意
不支援透過 Proxy 連線的兩部電腦之間進行偵錯。 不建議針對高延遲或低頻寬連線進行除錯,例如撥號網際網路,或跨國家/地區透過網際網路進行,可能會失敗,或速度慢得無法接受。
已在 IIS 中執行的應用程式?
本文包含在 Windows 伺服器上設定 IIS 的基本設定,以及從 Visual Studio 部署應用程式的步驟。 這些步驟包含在內,以確保伺服器已安裝必要的元件、應用程式可以正確執行,而且您已準備好進行遠端偵錯。
如果您的應用程式在 IIS 中執行,而您只想下載遠端調試程式並開始偵錯,請移至 下載並安裝 Windows Server 上的遠端工具。
如果您想要協助確保應用程式已正確在 IIS 中設定、部署及執行,以便進行偵錯,請遵循本文中的所有步驟。
在 Visual Studio 電腦上建立 ASP.NET 4.8 應用程式
建立新的MVC ASP.NET 應用程式。
在 Visual Studio 中,選擇 [檔案]>[開始] 視窗 開啟 [開始] 視窗,然後選擇 [[建立新專案]。 在搜尋方塊中,輸入 asp.net framework,然後選擇 [ASP.NET Web 應用程式 #.NET Framework]。 在出現的對話框中,將專案命名 MyASPApp,選擇 [ASP.NET Framework 4.8],然後選擇 [建立]。
選取 [MVC],然後選擇 [建立]。
開啟 Controllers 資料夾中的 HomeController.cs 檔案,並在
Privacy
方法的return View;
語句中設定斷點。在舊版範本中,開啟 Privacy.cshtml.cs 檔案,並在
OnGet
方法中設定斷點。
在 Windows Server 上安裝及設定 IIS
這些步驟只會顯示 IIS 的基本設定。 如需更深入的資訊或安裝到 Windows 桌面電腦,請參閱 發行至 IIS 或 IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。
針對 Windows Server 作業系統,請透過 Server Manager中的 [管理] 連結或 [儀表板] 連結,使用 [新增角色及功能] 精靈。 在[伺服器角色] 步驟中,勾選 網頁伺服器(IIS)的方塊。
(Windows Server 2022)在出現的對話框中,選擇 [[新增功能] 來新增 IIS 管理控制台。
在 角色服務 步驟中,選取您想要的 IIS 角色服務,或接受提供的預設角色服務。 如果您想要使用發佈設定和 Web Deploy 來啟用部署,請確定已選取下列功能:
- IIS 管理文本和工具
- 管理服務
- IIS 管理主控台
請繼續進行確認步驟,以安裝 Web 伺服器角色和服務。 安裝網頁伺服器 (IIS) 角色之後,不需要重新啟動伺服器/IIS。
更新 Windows Server 上的瀏覽器安全性設定
如果您使用舊版 Windows Server,您可能需要將某些網域新增為信任的網站,才能下載部分網頁伺服器元件。 移至 [因特網選項] > [安全性] > [信任的網站] > [網站]來新增信任的網站。 新增下列網域。
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
當您下載軟體時,可能會收到授與許可權以載入各種網站腳本和資源的要求。 有些資源並非必要,但為了簡化程式,請在出現提示時選取 [新增]。
在 Windows Server 上安裝 ASP.NET 4.8
如果您想要在 IIS 上安裝 ASP.NET 的詳細資訊,請參閱 IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。
注意
Web Platform Installer 於 7/1/22 達到生命周期結束。 如需詳細資訊,請參閱 Web Platform Installer - 支援結束和逐步停用產品/應用程式更新。 您可以直接從 IIS 安裝 ASP.NET 4.8。
在 [伺服器管理員] 的左窗格中,選取 [IIS]。 在伺服器上按一下滑鼠右鍵,然後選取 [新增角色和功能]。
在精靈中,前進到 [功能] 區段,然後安裝 ASP.NET 4.8。
注意
如果您使用 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,以接受系統 PATH 的變更)。
選擇部署選項
如果您需要將應用程式部署至 IIS 的協助,請考慮下列選項:
在 IIS 中建立發行配置檔,並在 Visual Studio 中匯入設定,以部署 。 在某些情況下,這是部署應用程式的快速方式。 當您建立發佈配置檔時,許可權會自動在 IIS 中設定。
藉由發佈至本機資料夾,並將慣用方法的輸出複製到 IIS 上備妥的應用程式資料夾來部署。
(選擇性)使用發佈配置檔進行部署
您可以使用此選項來建立發行配置檔,並將其匯入 Visual Studio。
注意
如果您想要手動設定 Web Deploy,而不是匯入發布設定,您必須確定伺服器上的應用程式資料夾已設定正確的值和許可權(請參閱 設定 ASP.NET 網站)。
在 Windows Server 上安裝及設定 Web Deploy
Web Deploy 提供額外的組態功能,可讓您從UI建立發佈配置檔。
注記
Web Platform Installer 於 7/1/22 達到生命周期結束。 如需詳細資訊,請參閱 Web Platform Installer - 終止支援及逐步淘汰產品/應用程式供應。 您可以直接安裝 Web Deploy 4.0 來建立發佈配置檔。
如果您尚未 IIS 管理文本和工具安裝,請立即安裝。
移至 [選取 [網頁伺服器角色]>[IIS]>[管理工具]],然後選取 [IIS 管理腳本和工具 角色],按兩下 [[下一步]],然後安裝角色。
需要文稿和工具,才能產生發行配置檔。
請確定您也安裝 Management Service 和 IIS 管理主控台 (可能已安裝它們)。
在 Windows Server 上,下載 Web Deploy 4.0。
執行 Web Deploy 安裝程式,並確定您選取 完成 安裝,而不是一般安裝。
完成安裝時,您會取得產生發行配置檔所需的元件。 (如果您改為選擇 自定義,您可以看到元件清單,如下圖所示。
的螢幕快照
(選擇性)開啟 控制台 > [系統與安全性] > [管理工具] > [服務],確認 [Web Deploy] 已正確執行,然後確定:
Web 部署代理程式服務 正在執行(舊版的服務名稱不同)。
Web Management Service 正在執行中。
如果其中一個代理程式服務未執行,請重新啟動 Web 部署代理程式服務。
如果 Web 部署代理程式服務完全不存在,請移至 [控制面板] > [程式] > [卸載程式],尋找 Microsoft Web Deploy <版本>。 選擇 [變更] 安裝,並確定您選擇的 將會安裝至 Web Deploy 元件的本機硬碟。 完成變更安裝步驟。
在 Windows Server 上的 IIS 中建立發行配置檔
關閉並重新開啟 IIS 管理主控台,以在 UI 中顯示更新的組態選項。
在 IIS 中,以滑鼠右鍵點擊 預設網站,選擇 [部署>設定 Web Deploy 部署]。
如果您沒有看到 [部署] 功能表,請參閱上一節以確認 Web Deploy 是否正在執行。
在 [設定 Web Deploy Publishing] 對話框中,檢查設定。
按下 設定。
在 [結果] 面板中,輸出顯示已將存取權限授予指定的使用者,並且在對話框中顯示的位置產生了一個具有 .publishsettings 副檔名的檔案。
<?xml version="1.0" encoding="utf-8"?> <publishData> <publishProfile publishUrl="https://myhostname:8172/msdeploy.axd" msdeploySite="Default Web Site" destinationAppUrl="http://myhostname:80/" profileName="Default Settings" publishMethod="MSDeploy" userName="myhostname\myusername" /> </publishData>
視您的 Windows Server 和 IIS 組態而定,您會在 XML 檔案中看到不同的值。 以下是您看到這些數值的一些詳細資訊:
msdeploy.axd
publishUrl
屬性中所參考的檔案是 Web Deploy 動態產生的 HTTP 處理程式檔案。 (為了測試目的,http://myhostname:8172
通常也能運作。)publishUrl
埠會設定為埠 8172,這是 Web Deploy 的預設值。destinationAppUrl
埠會設定為埠 80,這是 IIS 的預設值。如果在後續步驟中,您無法使用主機名從 Visual Studio 連線到遠端主機,請測試伺服器的 IP 位址以取代主機名。
注意
如果您要發佈至在 Azure VM 上執行的 IIS,您必須在網路安全組中開啟 Web Deploy 和 IIS 的輸入埠。 如需詳細資訊,請參閱開啟虛擬機的埠。
將此檔案複製到您執行 Visual Studio 的電腦。
在 Visual Studio 中匯入發佈設定並部署
在您打開 Visual Studio 的電腦中,於 [方案總管] 裡用滑鼠右鍵點擊 ASP.NET 專案,然後選擇 [發佈]。
如果您先前已設定任何發佈配置檔,[發佈] 窗格隨即出現。 點選 新增 或 建立新的設定檔。
選取匯入配置檔的選項。
在 [發佈] 對話框中,單擊 [匯入設定檔]。
流覽至您在上一節中建立之發行配置檔的位置。
在 [匯入發行設定檔] 對話框中,瀏覽到您在上一節中建立的設定檔,然後按一下 開啟。
按一下 [完成] 以儲存發佈配置檔,然後按一下 [發佈]。
Visual Studio 會開始部署程式,[輸出] 視窗會顯示進度和結果。
如果您收到任何部署錯誤,請按一下 [[更多動作]>[編輯] 來編輯設定。 修改設定,然後按兩下 [驗證],以測試新的設定。 如果找不到主機名,請在 [伺服器] 和 [目的地 URL] 欄位中,嘗試使用 IP 位址,而不是主機名。
成功部署應用程式之後,它應該會自動啟動。 如果應用程式在部署後未啟動,請在 IIS 中啟動應用程式,以確認它是否正常執行。
當您準備好時,請切換至偵錯組態。
重要
如果您選擇偵錯發行組態,請在發佈時停用 web.config 檔案中的偵錯。
- 選取 [其他選項]>[編輯] 以編輯設定檔,然後選取 [設定]。
- 選取 [偵錯 組態],然後在 [檔案發佈] 選項底下選取 [移除目的地的其他檔案]。
- 選取 儲存,然後重新發布應用程式。
- 選擇 [編輯] 來編輯個人檔案,然後選擇 [設定]。
- 選取 [偵錯 組態],然後選取 [在 [檔案發佈] 選項底下,在目的地 移除其他檔案。
- 選取 儲存,然後重新發布應用程式。
警告
使用使用者名稱和密碼認證(基本身份驗證)不是最安全的驗證方法。 盡可能使用替代方法。 例如,請考慮從 Visual Studio 發佈至套件,然後使用命令行 WebDeploy.exe 來部署套件。 使用該方法,您可以使用 IIS 管理員來設定可發佈至網頁伺服器的授權 Windows 使用者,並在該 Windows 使用者帳戶下執行 WebDeploy.exe。 請參閱 在 IIS 8.0 或更新版本上安裝及設定 Web Deploy。 如果您使用密碼認證,請務必使用強密碼,並保護密碼免於外泄或共用。
(選擇性)藉由發佈至本機資料夾進行部署
如果您想要使用 PowerShell、RoboCopy 將應用程式複製到 IIS,或想要手動複製檔案,您可以使用此選項來部署您的應用程式。
在 Windows Server 電腦上設定 ASP.NET 網站
開啟 Windows 檔案總管並建立新的資料夾,C:\Publish,您稍後會在其中部署 ASP.NET 專案。
如果尚未開啟,請開啟 Internet Information Services (IIS) 管理器。 (在 [伺服器管理員] 的左窗格中,選取 [IIS]。 以滑鼠右鍵按下伺服器,然後選取 [Internet Information Services (IIS) 管理工具]。
在左窗格中的 [連線] 下,移至 [網站]。
選取 預設網站,選擇 [基本設定],並將 [實體路徑] 設定為 [C:\Publish]。
以滑鼠右鍵按兩下 [預設網站] 節點,然後選取 [新增應用程式]。
將 [別名] 字段設定為 [MyASPApp]、接受默認應用程式集區 (DefaultAppPool),並將 [實體路徑] 設定為 C:\Publish。
在 [連線] 下,選取 [應用程式集區]。 開啟 DefaultAppPool,並將 [應用程式集區] 欄位設定為 ASP.NET v4.0 (ASP.NET 4.5 不是 [應用程式集區] 的選項)。
在 IIS 管理員中選取網站後,選擇 [編輯許可權],並確定 [IUSR]、[IIS_IUSRS] 或 [應用程式集區] 設定的使用者是具有讀取 & 執行許可權的授權使用者。
如果您沒有看到其中一個具有存取權的使用者,請逐步將 IUSR 新增為具有讀取 & 執行許可權的使用者。
重要
如需與內建帳戶相關的安全性資訊,請參閱 瞭解 IIS 7中的 Built-In 使用者和組帳戶。
從 Visual Studio 發佈至本機資料夾,以發布和部署應用程式
您也可以使用檔案系統或其他工具發佈和部署應用程式。
針對 ASP.NET 4.8,請確定 web.config 檔案會列出正確的 .NET 版本。
如果您的目標是 ASP.NET 4.8,請確定此版本值列在 web.config 檔案中:
<system.web> <compilation debug="true" targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> <httpModules> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> </httpModules> </system.web> ```
如果您安裝 ASP.NET 4 而不是 4.8,則版本值應該在 web.config 檔案中指定為 4.0。
請遵循下列步驟來發佈及部署應用程式:
在 [方案總管]中,以滑鼠右鍵按兩下項目節點,然後選取 [發佈 [web Forms],[發佈 Web 應用程式]。
如果您先前已設定任何發佈配置檔,[發佈] 窗格會顯示。 點選[新增個人檔案]。
在 [發佈] 對話框中,選取 [資料夾],按兩下 [瀏覽],然後建立新的資料夾,C:\Publish。
按 [完成] 以儲存發佈設定檔。
按一下 完成 以儲存發行設定檔。
切換至偵錯組態。
選擇 [編輯] 來編輯設定檔,然後選擇 [設定]。 選擇 [偵錯 組態],然後選擇 [在目的地 移除其他檔案],在 [檔案發佈] 選項底下。
注意
如果您使用發行組建,請在發行時停用 web.config 檔案中的偵錯。
點選 [發佈]。
應用程式會將專案的 偵錯 組態發佈至本機資料夾。 進度會顯示在 [輸出] 視窗中。
將 ASP.NET 項目目錄從 Visual Studio 計算機複製到 Windows Server 電腦上為 ASP.NET 應用程式設定的本機目錄(在此範例中,C:\Publish)。 在本教學課程中,我們假設您手動複製,但您可以使用PowerShell、Xcopy或Robocopy等其他工具。
謹慎
如果您需要變更程式碼或重建,您必須重新發佈並重複此步驟。 您複製到遠端電腦的可執行檔案必須完全符合本機來源和符號。 如果您沒有這麼做,當您嘗試偵錯程式時,將會在 Visual Studio 中收到
cannot find or open the PDB file
警告。在 Windows Server 上,在瀏覽器中開啟應用程式,確認您可以正確執行應用程式。
如果應用程式未正確執行,您的伺服器和 Visual Studio 機器上安裝的 ASP.NET 版本可能會不符,或者您的 IIS 或網站設定可能有問題。 重新檢查先前的步驟。
在 Windows Server 上下載並安裝遠端工具
下載符合您 Visual Studio 版本的遠端工具版本。
在您要偵錯的遠端裝置或伺服器上,而不是 Visual Studio 機器,從下表中的鏈接下載並安裝正確的遠端工具版本。
- 下載 Visual Studio 版本的最新遠端工具更新。 舊版遠端工具與較新的 Visual Studio 版本不相容。 (例如,如果您使用 Visual Studio 2019,請下載 Visual Studio 2019 遠端工具的最新更新。在此案例中,請勿下載 Visual Studio 2022 的遠端工具。
- 下載遠端工具,其架構與您安裝所在的計算機相同。 例如,如果您想要在執行 x64 作業系統的遠端電腦上偵錯 x86 應用程式,請安裝 x64 遠端工具。 若要在 ARM64 作業系統上偵錯 x86、ARM 或 x64 應用程式,請安裝 ARM64 遠端工具。
版本 | 連結 | 筆記 |
---|---|---|
Visual Studio 2022 | 遠端工具 | 與所有 Visual Studio 2022 版本相容。 下載符合您裝置操作系統的版本(x86、x64(AMD64)或ARM64)。 在舊版 Windows Server 上,請參閱 解除封鎖檔案下載,以取得下載遠端工具的說明。 |
Visual Studio 2019 | 遠端工具 | Visual Studio 2019 的遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 方案,或使用您的 Visual Studio 訂用帳戶標識符登入。 下載符合您裝置操作系統的版本(x86、x64(AMD64)或ARM64)。 在舊版 Windows Server 上,請參閱 解除封鎖檔案下載,以取得下載遠端工具的說明。 |
Visual Studio 2017 | 遠端工具 | Visual Studio 2017 的遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 方案,或使用您的 Visual Studio 訂用帳戶標識符登入。 下載符合您裝置操作系統的版本(x86、x64(AMD64)或ARM64)。 在 Windows Server 上,請參閱 解除封鎖檔案下載,以取得下載遠端工具的協助。 |
Visual Studio 2015 | 遠端工具 | Visual Studio 2015 遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 方案,或使用您的 Visual Studio 訂用帳戶標識符登入。 在 Windows Server 上,請參閱 解除封鎖檔案下載,以取得下載遠端工具的協助。 |
Visual Studio 2013 | 遠端工具 | Visual Studio 2013 檔中的下載頁面 |
Visual Studio 2012 | 遠端工具 | Visual Studio 2012 檔中的下載頁面 |
版本 | 連結 | 筆記 |
---|---|---|
Visual Studio 2019 | 遠端工具 | 與所有 Visual Studio 2019 版本相容。 下載符合您裝置操作系統的版本(x86、x64(AMD64)或ARM64)。 在 Windows Server 上,請參閱 解除封鎖檔案下載,以取得下載遠端工具的協助。 如需最新版本的遠端工具,請開啟 Visual Studio 2022 檔。 |
Visual Studio 2017 | 遠端工具 | 與所有 Visual Studio 2017 版本相容。 下載符合您裝置操作系統的版本(x86、x64(AMD64)或ARM64)。 在 Windows Server 上,請參閱 解除封鎖檔案下載,以取得下載遠端工具的協助。 |
Visual Studio 2015 | 遠端工具 | Visual Studio 2015 遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 方案,或使用您的 Visual Studio 訂用帳戶標識符登入。 在 Windows Server 上,請參閱 解除封鎖檔案下載,以取得下載遠端工具的協助。 |
Visual Studio 2013 | 遠端工具 | Visual Studio 2013 檔中的下載頁面 |
Visual Studio 2012 | 遠端工具 | Visual Studio 2012 檔中的下載頁面 |
您可以將 msvsmon.exe 複製到遠端電腦,而不是安裝遠端工具,以執行遠端調試程式。 不過,只有在安裝遠端工具時,才能使用遠端調試程式設定精靈(rdbgwiz.exe)。 如果您想要以服務的形式執行遠端調試程式,您可能需要使用精靈進行設定。 如需詳細資訊,請參閱 (選擇性) 將遠端除錯程式設定為服務。
注意
- 若要對 ARM 裝置上的 Windows 10 或更新版本應用程式進行偵錯,請使用 ARM64,其適用於最新版本的遠端工具。
- 若要對 Windows RT 裝置上的 Windows 10 應用程式進行偵錯,請使用 ARM,其僅適用於 Visual Studio 2015 遠端工具下載。
- 若要對 ARM64 操作系統上的 x64 應用程式進行偵錯,請執行隨 ARM64 遠端工具一起安裝的 x64 msvsmon.exe。
在 Windows Server 上設定遠端調試程式
在遠端電腦上,從 [開始] 功能表中尋找並啟動 遠端調試程式。
如果您沒有遠端電腦上的系統管理許可權,請以滑鼠右鍵按 遠端除錯程式 應用程式,然後選取 以系統管理員身分執行。 否則,只要正常啟動即可。
如果您打算附加到以系統管理員身分執行的程序,或者是在不同的使用者帳戶(例如 IIS)下執行的程序,請以滑鼠右鍵按下 遠端調試程式 應用程式,然後選取 [以系統管理員身分執行]。 如需詳細資訊,請參閱 以系統管理員身分執行遠端調試程式。
第一次啟動遠程調試程式(或設定之前),遠端偵錯組態 精靈隨即出現。
在大部分情況下,請選擇 [下一步],直到您進入精靈的 [設定 Windows 防火牆] 頁面 為止。
如果未安裝 Windows Web 服務 API,這只會在 Windows Server 2008 R2 上發生,請選取 [安裝 ] 按鈕。
選取至少一個您想要使用遠端工具的網路類型。 如果電腦是透過網域連線,您必須選擇第一個項目。 如果計算機是透過工作組或家庭群組連線,請視需要選擇第二或第三個專案。
接下來,選取 完成,以啟動遠端調試程式。
接下來,選取 [設定遠端偵錯 以啟動遠端調試程式。
設定完成時,[遠端調試程式] 視窗隨即出現。
遠端調試程式現在正在等候連線。 使用顯示的伺服器名稱和埠號碼,在 Visual Studio 中設定遠端聯機組態。
若要停止遠端偵錯,請選擇「檔案>結束」。 您可以從 [開始] 選單,或從命令行將它重新啟動:
<Remote debugger installation directory>\msvsmon.exe
注意
如果您需要為其他使用者新增許可權、變更驗證模式或遠端調試程式的埠號碼,請參閱 設定遠端調試程式。
如需執行遠端除錯程式即服務的資訊,請參閱 執行遠端調試程式即服務。
從 Visual Studio 電腦附加至 ASP.NET 應用程式
從 Visual Studio 2022 17.10 版 Preview 2 開始,[附加至進程] 對話框已變更。 如果您需要符合舊對話框的指示,請切換至 Visual Studio 2019 檢視(文章中的左上方版本選取器)。
在 Visual Studio 計算機上,如果您遵循本文中的所有步驟,請開啟您嘗試偵錯的解決方案(MyASPApp)。
在 Visual Studio 中,選取 [偵錯] > [附加至處理程序] [Ctrl + Alt + P]。
提示
在 Visual Studio 2017 和更新版本中,您可以使用 Debug > 重新附加至 Process... (Shift + Alt + P) 重新附加至您先前附加的相同進程。
將 連線類型 設定為 Remote (Windows)。
連線目標 選項隨即出現。
將 連線目標 設定為 <遠端電腦名稱>,然後按 Enter。
確認 Visual Studio 會將必要的埠新增至電腦名稱,其格式如下:<遠端電腦名稱>:port
在 Visual Studio 2022 上,您應該會看到 <遠端電腦名稱>:4026
需要埠口。 如果您沒有看到埠號碼,請手動新增。
在 Visual Studio 計算機上,如果您遵循本文中的所有步驟,請開啟您嘗試偵錯的解決方案(MyASPApp)。
在 Visual Studio 中,選取 [偵錯] > [附加至程序] (Ctrl + Alt + P)。
提示
在 Visual Studio 2017 和以後的版本中,您可以使用 Debug > 重新附加至程序... (Shift + Alt + P)來重新連接至您先前附加的相同程序。
將 [限定符] 欄位設定為 <遠端電腦名稱>,然後按 輸入鍵。
確認 Visual Studio 會將必要的埠新增至電腦名稱,其格式如下:<遠端電腦名稱>:port
在 Visual Studio 2019 上,您應該會看到 <遠端電腦名稱>:4024
需要該埠。 如果您沒有看到埠號碼,請手動新增。
選取 重新整理。
您應該會在 [可用的進程 視窗中看到一些進程。
如果您沒有看到任何進程,請嘗試使用IP位址,而不是遠端電腦名稱(需要埠)。 您可以在命令列中使用
ipconfig
來取得 IPv4 位址。如果您想要使用 [尋找] 按鈕,您可能需要在伺服器上 開啟出站 UDP 連接埠 3702。
選擇 顯示所有使用者的進程。
輸入進程名稱的第一個字母,以快速尋找 ASP.NET 4.5 的 w3wp.exe。
如果您有多個進程顯示 w3wp.exe,請檢查 [用戶名稱] 資料行。 在某些情況下,[用戶名稱] 資料行會顯示您的應用程式集區名稱,例如 IIS APPPOOL\DefaultAppPool。 如果您看到應用程式集區,識別正確程序的簡單方式是針對您要偵錯的應用程式實例建立新的具名應用程式集區,然後您可以輕鬆地在 [用戶名稱] 資料行中找到它。
選取 ,附加。
開啟遠端電腦的網站。 在瀏覽器中,移至 http://<遠端電腦名稱>。
您應該會看到 ASP.NET 網頁。
在執行中的 ASP.NET 應用程式中,選取 [隱私權] 頁面的連結。
應該在 Visual Studio 中觸發斷點。
如果您無法附加或命中斷點,請參閱 疑難排解遠端偵錯。
IIS 部署疑難排解
- 如果您無法使用主機名連線到主機,請改為嘗試IP位址。
- 請確定遠端伺服器上已開啟必要的埠。
- 確認應用程式中所使用的 ASP.NET 版本與您安裝在伺服器上的版本相同。 針對您的應用程式,您可以在 [屬性] 頁面中檢視和設定版本。 若要將應用程式設定為不同的版本,則必須安裝該版本。
- 如果應用程式嘗試開啟,但您會看到憑證警告,請選擇信任網站。 如果您已經關閉警告,您可以在專案中編輯發行配置檔 *.pubxml 檔案,並新增下列元素(僅供測試):
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
- 部署應用程式之後,請在 IIS 中啟動應用程式,以測試其已正確部署。
- 檢查 Visual Studio 中的 [輸出] 視窗以取得狀態資訊,並檢查您的錯誤訊息。
在 Windows Server 上打開必要的端口
在大部分的安裝程式中,安裝 ASP.NET 和遠端調試程式會開啟必要的埠。 不過,您可能需要確認埠已開啟。
注意
在 Azure VM 上,您必須透過 網路安全組開啟埠。
必要的端口:
- 80:IIS 必須的。
- 4026:Visual Studio 2022 遠端偵錯的必要條件(如需詳細資訊,請參閱 遠端偵錯工具埠指派)。
4024:Visual Studio 2019 遠端偵錯所必需的(如需詳細資訊,請參閱 遠端偵錯工具埠指派)。
UDP 3702:(選擇性)探索埠可讓您使用 [尋找] 按鈕,在附加至 Visual Studio 中的遠端調試程式時。
此外,ASP.NET 安裝應該已經開啟這些埠:
- 8172:[選用] 若要使用 Web Deploy 從 Visual Studio 部署應用程式,則需要此需求。
開啟埠
若要在 Windows Server 上開啟埠,請開啟 [開始] 功能表,搜尋 Windows Defender 防火牆 或 具有進階安全性的 Windows 防火牆。
針對 Windows Defender 防火牆,請選擇 [進階設定] 。
然後選擇 [輸入規則] > [新增規則] > [連接埠]。 選擇 [下一步],然後在 [特定本機埠]下,輸入埠號碼,選取 [下一步],接著選擇 [允許連線],選取 [下一步],然後為輸入規則新增名稱(IIS、Web Deploy或 msvsmon)。
如果您要設定 Windows 防火牆的詳細資訊,請參閱 設定 Windows 防火牆以進行遠端偵錯。
為其他必要埠建立更多規則。