共用方式為


Visual Studio 2005 中的改善

Microsoft提供

Visual Studio 2005 可為 Web 應用程式開發人員提供一長串的改善和增強功能。

Visual Studio 2005 可為 Web 應用程式開發人員提供一長串的改善和增強功能。 如同 Visual Studio .NET 2002 和 2003 一樣強大,Web 專案處理的方式有許多抱怨。 Visual Studio 2005 新增大量新功能,以解決這些抱怨。 如需偏好 Visual Studio .NET 2003 處理 Web 應用程式編譯方式的人員,請參閱 Web 應用程式專案

在本課程模組中,妥善涵蓋 Web 專案建立、管理和開發的改善。 在稍後的課程模組中,妥善涵蓋建置 Web 專案並加以部署的改善。

FrontPage 伺服器延伸模組

Visual Studio .NET 2002 和 2003 方塊上需要 FrontPage Server Extensions,才能建立或建置 Web 專案。 開發人員可以選擇兩種不同的存取模式, (FrontPage Server Extensions 或檔案存取模式) ,兩者都使用 FrontPage Server Extensions 來執行工作,例如在 IIS 中設定應用程式根目錄等。

Visual Studio 2005 會移除對本機專案的 FrontPage 伺服器延伸模組的依賴。 Visual Studio 2005 現在會直接存取 IIS 中繼基底,而不是使用 FrontPage Server Extensions。 Visual Studio 2005 也新增 FTP 的支援,允許遠端專案存取,而不需要 FrontPage 伺服器延伸模組。

對於想要在其專案中使用 FrontPage 伺服器延伸模組的開發人員,仍可使用此選項。 不過,根據來自 ASP.NET 開發人員社群的強式意見反應,這不是必要條件。

注意

在遠端專案建立、開啟等專案時,仍然需要 FrontPage 伺服器延伸模組。

ASP.NET 開發伺服器概觀

Visual Studio 2005 隨附名為 ASP.NET Development Server 的新 Web 服務器。 (此網頁伺服器先前稱為 Cassini.)

ASP.NET 開發伺服器有幾個優點。

  • 現在,非系統管理員可以針對網頁伺服器進行開發和偵錯。
  • ASP.NET Development Server 會將虛擬目錄動態對應至檔案系統中允許彈性專案位置的任何位置。
  • Windows XP Professional 上已使用 IIS 的使用者現在能夠建立不會影響 IIS 中預設網站檔案或資料夾結構的新 Web 應用程式。

不需要特殊設定,才能利用 ASP.NET Development Server。 當裝載于檔案系統上的 Web 專案進行偵錯或流覽時,Visual Studio 2005 會自動在隨機埠上啟動 ASP.NET Development Server 的實例,以服務要求。

本課程模組稍後將涵蓋 ASP.NET 開發伺服器的詳細資訊。

改善的檔案管理

在 Visual Studio 2002 和 2003 中,專案檔 (.vbproj for VB.NET 和 C# 的 .csproj ) 儲存 Web 應用程式中所有檔案的資訊。 Solution Explorer顯示是以專案檔中的檔案資訊為基礎。 因此,Solution Explorer通常會在外部編輯器使用時顯示不正確的資訊。 Visual Studio 2002 和 2003 通常會覆寫檔案變更,或不會顯示最新版本的檔案。

Visual Studio 2005 會離開專案檔。 相反地,它會直接從磁片讀取檔案和資料夾資訊,導致您專案中的檔案顯示正確。 由於 Visual Studio 2002 和 2003 中的 References 資料夾不代表 Web 應用程式中的實際資料夾,因此 Visual Studio 2005 也會從 Solution Explorer移除 References 資料夾。 若要存取 Visual Studio 2005 中專案的參考,您應該使用專案的 [屬性] 頁面。

建立 Web 專案

Web 開發人員有許多新的選項可用於在 Visual Studio 2005 中建立專案。 網站現在可以在檔案系統中的任何位置建立,然後使用新的 ASP.NET 開發伺服器進行偵錯或流覽。 開發人員也可以使用 FTP 建立新的網站。

按一下這裡可檢視在 Visual Studio 2005 中建立 Web 專案的影片逐步解說。

開啟Full-Screen影片

檔案系統專案

如您在影片逐步解說中所見,您可以選擇在本機電腦上或透過檔案共用在遠端位置上建立網站。 在檔案系統上建立的網站會使用 ASP.NET Development Server 來流覽和偵錯。

注意

ASP.NET 開發伺服器可能會對客戶造成一些混淆。 如果在 IISs 目錄結構中的檔案系統上建立 Web 專案 (亦即 c:/inetpub/wwwroot) ,網站仍會在 Visual Studio 2005 內啟動時,透過 ASP.NET 開發伺服器流覽。 因此,任何 IIS 組態 (即) 驗證方法不適用。

預設 Web 專案也會藉由只包含 Default.aspx 頁面、default.cs 檔案和 App/_Data 資料夾,來移除許多額外負荷。 web.config和特殊資料夾 (,也就是視需要新增 app/_code) 。 您的 Web 專案只包含您需要的檔案和資料夾。

HTTP 專案

HTTP 專案可以是在本機 IIS 網站上或遠端網站上建立的專案。 預設專案位置為 http://localhost 。 如果您按一下 [流覽] 按鈕,則有兩個 HTTP 選項:本機 IIS 和遠端網站。 這兩個選項的主要差異在於網站資訊顯示在 [選擇位置] 對話方塊中,以及檔案如何複製到網頁伺服器的方法。

[本機 IIS] 選項會從本機電腦上的中繼資料庫讀取月臺資訊,並使用檔案系統複製檔案。 [遠端月臺] 選項會使用 FrontPage 伺服器延伸模組,並使用 HTTP 和 FrontPage Server Extensions RPC 呼叫來複製網站資訊和檔案。

注意

vs###/_tmp.htm 檔案和 get/_aspx/_ver.aspx 不再用來判斷版本資訊。

預設 HTTP 選項為本機 IIS。 此選項會讀取 IIS Metabase,以判斷哪些網站可供使用,以及要在其中建立內容的位置。 您可以在樹狀檢視中選取不同的資料夾或虛擬目錄。 您也可以建立新的虛擬目錄、將資料夾標示為應用程式,以及從這個對話方塊刪除現有的虛擬目錄。

[選擇位置] 對話方塊

圖 1:選擇位置對話方塊

不同于舊版 Visual Studio,如果您核取 [ 使用安全通訊端層 ] 核取方塊,且 SSL 憑證不符合您流覽的 URL,您會看到 [安全性警示] 對話方塊,詢問您是否要繼續進行。 如果使用 Visual Studio .NET 2003,如果憑證不是相符的憑證,建立專案將會失敗。

關於 SSL 憑證的安全性警示

圖 2:關於 SSL 憑證的安全性警示

主機標頭上的附注

如果您要在系結至特定 IP 的網站上建立 Web 應用程式,您必須確定已設定主機標頭。 否則,Visual Studio 會在 建立月臺, http://localhost 但從 IDE 中流覽或偵錯網站時,IP 位址將無法正確解析。

如果您選取 [遠端網站] 選項,對話方塊會變更為允許您輸入新網站的目的地 URL。 此 URL 必須位於已啟用 FrontPage Server Extensions 的伺服器上。 如果您想要使用 FrontPage Server Extensions 與本機網頁伺服器搭配使用,您可以使用 [遠端網站] 選項並指定本機 URL。

在遠端伺服器上建立網站

圖 3:在遠端伺服器上建立網站

透過 SSL 在遠端網站上建立應用程式時,如果 SSL 憑證不相符,則確認對話方塊與使用 [本機 IIS] 選項時顯示的對話方塊稍有不同。

遠端網站安全性警示

圖 4:遠端月臺安全性警示

FTP

Visual Studio 2005 引進了透過 FTP 建立網站的選項。 當您使用此選項時,IDE 會在使用者暫存資料夾中本機建立檔案,然後使用 FTP 將檔案移至 FTP 位置。

注意

暫存資料夾位置為 c:/Documents and Settings/ < User > /Local Settings/Temp/VWDWebCache/ < Server > /_ < application name>

使用 FTP 選項時,您會看到 [選擇位置] 對話方塊。 您會在此對話方塊中輸入必要的 FTP 連線資訊,如下所示。

FTP 的 [選擇位置] 對話方塊

圖 5:FTP 的 [選擇位置] 對話方塊

實驗室:設定 FTP 網站並建立專案

下列步驟會設定 FTP 網站,讓使用者只能透過 FTP 上傳至的位置。

安裝 FTP 服務

  1. 開啟 [新增移除程式],選取 [新增/移除 Windows 元件]
  2. 選取 [Windows 2003 上的 Internet Information Services (Application Server) ],然後按一下 [ 詳細資料]。
  3. 檢查 [檔案傳輸通訊協定] ([FTP) 服務] ,然後按一下 [ 確定]。
  4. [下一步] 安裝 FTP 服務。

建立內容的新資料夾

  1. 在 Windows 檔案總管中,于 c:/inetpub/wwwroot 內建立名為 User1 的新資料夾。

設定資料夾和資料夾的許可權。

  1. 從 [系統管理工具] 開啟 [網際網路資訊服務] 嵌入式管理單元。 您現在會在 [電腦名稱稱] 節點底下有 FTP Sites 資料夾。
  2. 展開 [FTP 網站]。
  3. 以滑鼠右鍵按一下 [預設 FTP 站台],選取 [ 新增],然後選取 [ 虛擬目錄],然後按 [ 下一步]。
  4. 輸入 User1 以取得虛擬目錄名稱,然後按 [ 下一步]。
  5. 輸入 c:/inetpub/wwwroot/User1 以取得路徑,然後按 [ 下一步]。
  6. [下一步 ],然後按一下 [ 完成] 以完成精靈。
  7. 以滑鼠右鍵按一下 [預設 FTP 月臺] 底下的 [User1 ] 虛擬目錄,然後選取 [ 內容]。
  8. 核取 [ 寫入 ] 核取方塊,然後按一下 [ 確定 ] 以關閉對話方塊。
  9. 以滑鼠右鍵按一下 [預設 FTP 月臺 ],然後選取 [ 內容]。
  10. 在 [ 安全性帳戶] 索引 標籤上,取消核取 [允許匿名連線]。
  11. 在詢問您是否要繼續的對話方塊中,按一下 [ ]。
  12. 按一下 [確定] 關閉對話方塊。
  13. 展開 [網站] 節點底下的 [預設網站]。
  14. 以滑鼠右鍵按一下 User1 目錄,然後選取 [屬性]
  15. 在 [ 應用程式設定] 區段中,按一下 [ 建立 ] 將資料夾標示為應用程式。
  16. 按一下 [確定] 關閉對話方塊。
  17. 關閉 Internet Information Services 嵌入式管理單元。

建立 Web 專案

  1. 開啟 Visual Studio 2005。
  2. 從 [ 檔案] 功能表中,選取 [新增網站]。
  3. 在 [ 位置] 下拉式清單中,選取 [FTP]。
  4. 按一下 [瀏覽]
  5. 在 [伺服器] 文字方塊中輸入localhost
  6. 在 [目錄] 文字方塊中輸入 User1
  7. 按一下 [開啟] 。 FTP 位置將會輸入 [新增網站] 對話方塊。
  8. 按一下 [確定]。
  9. 在 [FTP 登入] 對話方塊中取消核取 [匿名登入 ],輸入您的認證,然後按一下 [ 確定]。
  10. 專案的 URL 為何? (專案的 URL 會顯示在 Solution Explorer.)
  11. 從 [ 建置 ] 功能表中,選取 [ 建置網站 ] 或 [ 建置方案]。
  12. 以滑鼠右鍵按一下 Solution Explorer 中的 Default.aspx,然後選取 [在瀏覽器中檢視]。
  13. 在 [需要網站 URL] 對話方塊中,輸入 http://localhost/user1 URL,然後按一下 [ 確定]。

注意

如果您收到錯誤,指出無法載入 /_Default 類型,請確定您是在您的網站上執行 ASP.NET 2.0,而不是舊版。 您可以從 Internet Information Services 中的 [ASP.NET] 索引標籤執行此動作。

開啟 Web 專案

開啟 Web 專案類似于建立專案。 下列各節會指出在 IDE 內工作時要留意的區域。 它也涵蓋使用 HTTP 和 FTP 處理 Web 專案。

若要開啟 Web 專案,請從 [檔案] 功能表中選取 [開啟網站]。 系統會提示您輸入先前涵蓋的相同 [選擇位置] 對話方塊,而且您有相同的四個選項可供您使用:[檔案系統]、[本機 IIS]、[FTP] 和 [遠端網站]。

檔案系統

如本課程模組先前所述,Visual Studio 不再使用專案檔。 因此,如果您選擇從檔案系統開啟網站,您實際上可以選擇任何您想要的資料夾,即使您選擇的資料夾一開始不是在 Visual Studio 中建立為 Web 專案也一樣。 例如,您可以選擇以網站身分開啟 [我的文件] 資料夾,Visual Studio 會快樂地開啟它,並顯示您的檔案,如下所示。

以網站身分開啟我的檔

圖 6:以網站身分開啟我的檔

因為 Visual Studio 只會在必要時建立其他檔案和資料夾,所以不會將其他檔案或資料夾新增至您開啟的位置。 此架構的副作用是它可防止您在檔案系統上巢狀網站。 例如,請考慮下列目錄結構。

C:/MyWebSite 的 Web 專案

C:/MyWebSite/Nested 的另一個 Web 專案

當您在 c:/MyWebSite 開啟網站時,巢狀資料夾會顯示為該應用程式的子資料夾。

HTTP

透過 HTTP 開啟網站時,會從 IIS 中繼資料庫讀取設定 (本機 IIS) 或使用 FrontPage Server Extensions (Remote Site.) 如果有巢狀 Web 應用程式,則會顯示這些應用程式,以及識別為應用程式的圖示。 如果您熟悉在 FrontPage 中使用 Web 應用程式,Visual Studio 2005 中的行為類似。

即使 Visual Studio 會顯示目前在 IDE 內開啟之應用程式下方之巢狀應用程式的圖示,但您無法將其展開以查看其內容。 不過,您可以按兩下它們來開啟它們。 當您這麼做時,您會看到一個對話方塊,提示您開啟 Web 應用程式 (,並取代目前開啟的方案) 或將 Web 應用程式新增至您目前的方案。

按兩下巢狀應用程式圖示會顯示此對話方塊

圖 7:按兩下巢狀應用程式圖示會顯示此對話方塊

FTP 站台

當您透過 FTP 開啟網站時,檔案都會複製到本機暫存資料夾。 本機儲存位置的完整路徑會顯示在專案的 [屬性] 窗格中,並使用下列格式建立。

C:/Documents and Settings/ < User > /Local Settings/Temp/VWDWebCache/ < Server > /_ < application name>

使用 FTP 時,Visual Studio 必須指定專案的基底 URL,以便您可以流覽它,如下所示。 如果您未指定基底 URL,Visual Studio 會在您第一次嘗試流覽網站中的頁面時要求您。

指定 FTP 網站的基底 URL

圖 8:指定 FTP 網站的基底 URL

編譯的改善

在 Visual Studio 2005 中使用 Web 應用程式明顯比舊版更快。 這是因為編譯架構中的變更並不多。

在 Visual Studio 2002 和 2003 中,Web 應用程式已編譯成位於 /bin 資料夾中的一個主要元件。 在 Visual Studio 2005 中,已新增 App/_Code 資料夾。 類別和其他非 UI 程式碼會新增至 App/_Code 資料夾。 當 Visual Studio 建置專案時,App/_Code 資料夾中的所有檔案都會編譯成單一 App/_Code.dll 檔案。 這項變更的結果是後續組建比舊版快很多。

注意

MSBuild 命令列公用程式也可以用來建置 ASP.NET Web 應用程式。 此工具將在課程模組 9 中討論。

另一個編譯增強功能是 [建置] 功能表上的新 [建置頁面] 選項。 此功能可讓開發人員只重建目前的頁面 (,當然以及相依性) ,以便更快速地編譯變更。 由於 C# 不提供更新 IntelliSense 等用途的背景編譯,因此它們會受益于這項功能,因為只要重建單一頁面即可快速更新 IntelliSense。

專案的 [建置] 屬性可讓您設定執行啟動頁面之前所發生的組建類型。 開發人員可以選擇只建置目前的頁面,讓 Visual Studio 可以在程式碼變更之後更快速地開始偵錯應用程式。

建置頁面開始動作

圖 9:建置頁面開始動作

Visual Studio 和 ASP.NET 架構的另一個絕佳增強功能是在編輯後繼續的領域。 在 Visual Studio 2005 中,開發人員可以開始偵錯專案,並在專案上進行程式碼變更,而不需要中斷偵錯工具連結。 事實上,您可以實際開始偵錯專案、新增類別、將程式碼新增至該類別、將程式碼新增至您的頁面,以建立該類別的新實例並執行 類別的方法,全都不需要中斷偵錯工具連結。 執行新程式碼就像重新整理瀏覽器一樣簡單!

按一下這裡以查看 Visual Studio 2005 中編輯後繼續功能的影片逐步解說。

開啟Full-Screen影片

ASP.NET 2.0 和 Visual Studio 2005 中的強固編輯和繼續功能,是因為 ASP.NET 應用程式的架構變更。 在 ASP.NET 1.x 中,在 Visual Studio 2002/2003 中建立的應用程式會編譯成儲存在 /bin 資料夾中的主要元件。 所有類別、頁面等。應用程式已編譯成該 DLL。 然後在執行時間,ASP.NET 會編譯頁面內的所有控制項、標記和 ASP.NET 程式碼,並將這些 DLL 複製到 ASP.NET 暫存資料夾。

在 Visual Studio 2005 中,使用 ASP.NET 2.0 的兩個編譯模型, (一個用於 Visual Studio,另一個 ASP.NET 用於執行時間) 的編譯模型已合併成一個通用編譯模型。 這表示所有編譯問題現在都會在開發階段期間攔截,而不是在執行時間攔截。 它也允許設計工具與 IntelliSense 支援使用者控制項和主版頁面等功能。

按一下這裡可查看使用者控制項設計工具支援的影片逐步解說。

開啟Full-Screen影片

注意

從頁面移除使用者控制項時,指示詞會保留在標記中, @Register 而且應該手動移除,以避免使用者控制項從網站中刪除時發生剖析器錯誤。

Visual Studio 編譯模型的另一項改進是發佈網站功能。 由於發佈功能會預先編譯網站,因此開發人員可以享有不需要隨選編譯任何專案的新增效能。 它也會將 App/_Code 資料夾中的所有原始程式碼預先編譯成 DLL,如此就不需要部署任何原始程式碼。

[發佈網站] 對話方塊

圖 10:[發佈網站] 對話方塊

注意

aspnet/_compile.exe 公用程式也可以用來預先編譯 ASP.NET Web 應用程式。 此工具將在課程模組 9 中涵蓋。

當您發佈網站時,先行編譯的檔案會儲存在 [暫存 ASP.NET 檔案] 資料夾中,如下所示。 副檔名為 .compiled 的檔案是定義特定 DLL 相依性的 XML 檔案。 任何 Webform 或使用者控制項會編譯成以 App/Web/開頭的隨機 DLL。

如果您保留 [允許此先行編譯的網站可更新 ] 核取方塊,Webforms 和使用者控制項內的標記將不會預先編譯成 DLL,讓您在部署之後進行變更。 如果您想要鎖定標記,不允許變更已部署的內容,請取消核取此方塊。

[ 使用固定命名和單頁元件 ] 核取方塊可讓您停用批次編譯,讓每個頁面編譯成固定命名的元件。 取消核取此方塊可讓您利用批次編譯。

[ 在先行編譯元件上啟用強式命名 ] 核取方塊可讓您強式名稱先行編譯的元件。

注意

在 ASP.NET 1.x 中,強式名稱元件必須安裝到全域組件快取 (GAC) 。 在 ASP.NET 2.0 中,您不需要將強式名稱元件安裝到 GAC。

ASP.NET 應用程式預先編譯的檔案

圖 11:ASP.NET 應用程式預先編譯的檔案

注意

在上述應用程式中,沒有web.config檔案。 如果有的話,在發佈網站程式之後會呼叫 它PrecompiledApp.config

部署中的改善

如同 Visual Studio 2002 和 2003,Visual Studio 2005 提供複製專案功能。 不過,此功能已在 Visual Studio 2005 中強化,現在稱為「複製網站」。

[複製網站] 對話方塊會分割成左框架和右框架。 左框架稱為來源網站,右側框架稱為遠端網站。 有一件事可能會混淆某些開發人員,就是在正確的畫面格中顯示的網站不一定是遠端網站。 它可以是本機檔案系統上的月臺,或位於 IIS 的本機實例上。 此外,左側框架中顯示的網站不一定是來源網站,因為對話方塊可讓您從遠端網站發佈 來源網站。

如果您要將專案複製到遠端網站,該網站必須已安裝 FrontPage Server Extensions。 如果沒有,您必須使用 FTP 進行連線。 另一方面,如果您要將專案複製到本機 IIS 實例,則不需要 FrontPage Server Extensions。

注意

如果您嘗試在本機 IIS 實例上建立新的網站,且已安裝 FrontPage 2002 伺服器延伸模組,您將會收到錯誤訊息,指出 SharePoint 伺服器上不支援建立網站。 在此情況下,您可以選擇安裝 FrontPage 2000 伺服器延伸模組,或移除 FrontPage 伺服器延伸模組。

按一下這裡取得複製網站功能的影片逐步解說。

Visual Studio 中複製網站功能的影片逐步解說螢幕擷取畫面。

開啟Full-Screen影片

偵錯的改善

Visual Studio 2005 中的偵錯有四個主要改善。

  • 以非系統管理員身分在本機偵錯是可行的。
  • 編譯專案的 Debug 屬性現在預設為 false。
  • 遠端偵錯設定和設定比之前更容易。
  • 您現在可以對透過 FTP 位置開啟的網站進行偵錯。

以非系統管理員身分偵錯

新增 ASP.NET 開發伺服器可讓非系統管理員立即輕鬆地對 ASP.NET 應用程式進行偵錯。 偵錯本機檔案系統上執行的 ASP.NET 應用程式時,Visual Studio 會在登入使用者的內容下啟動 ASP.NET 開發伺服器。 該使用者可以接著對該應用程式進行偵錯,而不需要任何其他設定。

根據預設,偵錯為 False

在 ASP.NET 1.x 中,web.config檔案編譯專案中的錯屬性預設會設定為true。 開發人員在將應用程式部署至生產環境之前,一律建議將此屬性設定為 false ,但因為大部分開發人員都無法完全瞭解將偵錯屬性設定為 true 的結果,所以只會依原樣保留。

將偵錯屬性設定為 true 的最嚴重問題在於其會停用 ASP。NET 批次編譯模型。 因此,每個頁面都會編譯成個別的 DLL。 如果 Web 應用程式是由數千個頁面所組成, (沒有任何方法) ,這表示該應用程式將會建立數千個小型 DLL。 雖然這些 DLL 的大小很小,但不會載入記憶體中的任何特定位置。 因此,它們會導致系統記憶體中的片段,而且可能會造成 OutOfMemoryException 發生。

在 ASP.NET 2.0 中,偵錯屬性預設會設定為 false。 如您所見,當開發人員在 Visual Studio 2005 中偵錯 ASP.NET 應用程式時,系統會提示他們新增已啟用偵錯的web.config檔案。 這麼做會產生 ASP.NET 1.x 中存在的相同缺點,但現在開發人員會清楚警告屬性應該重設為 false,再將應用程式移至生產環境。

遠端偵錯設定和組態

在 Visual Studio 2002/2003 中,遠端偵錯依賴機器偵錯管理員 (mdm.exe) 和vs7jit.exe程式。 因此,針對遠端偵錯問題進行疑難排解通常是客戶的黑色方塊,而且 PSS 通常較不好。

Visual Studio 2005 會移除對mdm.exe和vs7jit.exe程式的依賴。 相反地,它現在使用遠端偵錯監視器服務 (msvsmon.exe.)

在 Visual Studio 2005 遠端偵錯的需求相當簡單。 在偵錯之前,您必須在遠端伺服器上執行msvsmon.exe。 您可以從 Visual Studio CD 安裝遠端偵錯監視器,也可以直接從共用執行msvsmon.exe,而不需在 Web 服務器上完整安裝任何專案。

當您執行msvsmon.exe時,可能會抱怨埠遭到封鎖以進行遠端偵錯。 幸運的是,您可以輕鬆地在警告對話方塊中將埠解除封鎖,如下所示。

Windows 防火牆封鎖遠端偵錯的通知

圖 12:Windows 防火牆封鎖遠端偵錯的通知

一旦您解除封鎖偵錯所需的埠,您會看到遠端偵錯監視器,如下所示。 您可以從此介面監視連線,並輕鬆地變更偵錯許可權。

遠端偵錯監視器

圖 13:遠端偵錯監視器

您也可以從遠端偵錯透過 FTP 開啟的 Web 應用程式。 這些步驟與先前涵蓋的步驟相同。 不過,您必須指定基底 URL 來流覽 FTP 專案,如本課程模組稍早所述。

實驗室 2

使用 Visual Studio 2005 進行遠端偵錯

此實驗室將逐步引導您使用 Visual Studio 2005 進行遠端偵錯。

按一下這裡取得此實驗室的影片逐步解說。

Visual Studio 中遠端偵錯影片逐步解說的螢幕擷取畫面。

開啟Full-Screen影片

此實驗室要求您有兩部電腦,一部執行 Visual Studio 2005,另一部執行 IIS 5 或更新版本。

  1. 開啟 Visual Studio 2005,並在遠端伺服器上建立新的網站。

注意

您可以在遠端 IIS 實例上或透過 FTP 建立網站。

  1. 從遠端 Web 服務器,使用 UNC 路徑找出開發電腦上的msvsmon.exe,然後加以執行。
    msvsmon.exe的預設位置是 //server/c$/Program Files/Microsoft Visual Studio 8/Common7/IDE/Remote Debugger/x86。
  2. 如果系統提示您解除封鎖埠以進行遠端偵錯,請執行此動作。
  3. 從開發電腦開啟 Default.aspx 的程式碼後置,然後在 Page/_Load 方法中設定中斷點。
  4. 從開發電腦開始偵錯。

您應該如預期般叫用中斷點。

啟動 ASP.NET 開發伺服器

如我們所討論,Visual Studio 2005 隨附名為 ASP.NET Development Server 的網頁伺服器。 (ASP.NET 開發伺服器有時稱為 Cassini.) 此網頁伺服器是流覽及偵錯檔案系統上執行的 Web 應用程式便利方式。

ASP.NET 開發伺服器是受限制的網頁伺服器。 它不允許遠端連線,它不允許來自啟動 Web 服務器之使用者以外的任何使用者的任何要求。 它也沒有提供 ASP 頁面的功能。 只會提供 ASP.NET 資源和 HTML 資源 (,包括影像、CSS 檔案等。) 。

ASP.NET 開發伺服器可以透過命令列啟動,方法是執行位於 c:/Windows/Microsoft.NET/Framework/v2.0.// /// *的 WebDev.WebServer.exe 檔案。 下列對話方塊會顯示可用的參數。

Visual Studio 對話方塊的螢幕擷取畫面,其中顯示從命令列啟動 A S P dot net Development 伺服器的參數。

圖 14

注意

透過命令列明確啟動時,不支援 ASP.NET 開發伺服器。