逐步解說:將 Visual Studio .NET 2003 Web 專案轉換成 Visual Studio Web 應用程式專案

更新:2007 年 11 月

將 Visual Studio .NET 2003 Web 專案轉換成 Visual Studio 2008 Web 應用程式專案,您便能充分善用 Visual Studio 2008 的功能。包括重構、類別圖表、測試開發與泛型等功能。Web 應用程式專案模型同時也提供 ASP.NET 2.0 及更新版本的所有功能。其中包括主版頁面、資料控制項、成員資格和登入控制項、角色管理、Web 組件、個人化、網站導覽和主題等。

Visual Studio 2008 Web 應用程式專案模型會更符合 Visual Studio .NET 2003 應用程式所使用的專案模型。如果您將 Visual Studio .NET 2003 Web 專案轉換成 Visual Studio 2008,這種作法會很有用。如需新功能的詳細資訊,請參閱 ASP.NET 和 Web 程式開發的新功能

注意事項:

您可以使用 Visual Studio 或 Visual Web Developer Express 版建立 ASP.NET Web 應用程式專案。

本逐步解說說明如何將現有 Visual Studio .NET 2003 Web 專案轉換成 Visual Studio 2008 的 Web 應用程式專案。Web 應用程式專案模型所使用的概念處理方式,與 Visual Studio .NET 2003 中的 Web 專案相同,這包括專案檔 (以包含和排除檔案),以及單一組件 (Assembly) 的編譯 (Compilation)。如需詳細資訊,請參閱從 Visual Studio .NET 轉換 Web 專案

注意事項:

若要將使用 Microsoft Office FrontPage 2003 的網站轉換為 Web 應用程式專案,首先請將 FrontPage 網站轉換為 Visual Studio 2008 網站專案。接著,將網站專案轉換為 Web 應用程式專案。如需詳細資訊,請參閱逐步解說:在 Visual Studio 中將網站專案轉換成 Web 應用程式專案

本逐步解說將說明的工作包括下列項目:

  • 開啟並驗證 Visual Studio .NET 2003 Web 專案。

  • 備份 Visual Studio .NET 2003 Web 專案。

  • 將 Visual Studio .NET 2003 Web 專案轉換為 Visual Studio 2008。

  • 在 Visual Studio 2008 中驗證 Web 應用程式專案。

  • 將程式碼後置 (Code-Behind) 類別 (Class) 轉換為部分類別。

  • 檢視及解析 XHTML 相容性問題。

必要條件

若要完成這個逐步解說,您必須要有:

  • Visual Studio .NET 2003

  • Visual Studio 2008 或 Visual Studio 2005 Service Pack 1 (SP1) 或 Visual Web Developer Express 版

  • .NET Framework 2.0 版

開啟並驗證 Visual Studio .NET 2003 Web 專案

在您轉換專案之前,應該先驗證它是否能夠正常運作。這樣可避免在轉換期間發生錯誤。

若要開啟並驗證 Visual Studio .NET 2003 Web 專案

  1. 開啟 Visual Studio .NET 2003。

  2. 按一下 [檔案] 功能表中的 [開啟檔案],然後輸入或瀏覽至要驗證之方案的 .sln 檔案。

    注意事項:

    在 Visual Studio .NET 2003 中,構成專案的檔案會包含在方案檔 (.sln) 中。

  3. 按一下 [專案] 功能表上的 [建置方案]。

  4. 按一下 [偵錯] 功能表上的 [啟動]。

  5. 驗證專案如預期般執行。

備份 Visual Studio .NET 2003 Web 專案

在開始轉換處理序之前,最好先備份 Visual Studio .NET 2003 方案和專案檔。如果發生任何轉換問題,可以還原成 Visual Studio .NET 2003 方案。

若要備份專案,請複製 Visual Studio .NET 2003 中的專案。

若要在轉換之前備份 Visual Studio .NET 2003 Web 專案

  1. 開啟 Visual Studio .NET 2003。

  2. 按一下 [檔案] 功能表中的 [開啟檔案],然後輸入或瀏覽至要備份之方案的 .sln 檔案。

  3. 按一下 [專案] 功能表中的 [複製專案]。

  4. 在 [複製專案] 方塊中選取 [目的專案資料夾]。

  5. 選取 [Web 存取方法] 選項。可以使用 [FrontPage] 或 [檔案共用] 來複製檔案。

  6. 選取 [包含專案資料夾中的所有檔案] 選項,然後按一下 [確定]。

將 Visual Studio .NET 2003 Web 專案轉換為 Visual Studio 2008

Visual Studio 2008 會將 Visual Studio .NET 2003 方案與專案檔轉換為使用 Microsoft Build Engine (MSBuild) 格式,該格式就是 Visual Studio 2008 中使用的專案檔案格式。

在進行轉換處理序時,Visual Studio 2008 會產生 XML 記錄檔,以提供轉換的摘要並為問題加註旗標。根據預設,轉換記錄檔會和 .sln 檔案一樣儲存在相同的目錄中。如果稍後在編譯轉換的專案時發生問題,就可以回去參考轉換記錄檔。

若要將 Web 專案轉換為 Visual Studio 2008

  1. 關閉 Visual Studio .NET 2003 中的方案檔。

  2. 開啟 Visual Studio 2008。

  3. 按一下 [檔案] 功能表中的 [開啟檔案],然後輸入或瀏覽至要轉換之方案的 .sln 檔案。

    [Visual Studio 2008 轉換精靈] 隨即開啟。

  4. 按 [下一步],遵照指示完成精靈,然後按一下 [完成]。

在 Visual Studio 2008 中驗證 Web 應用程式專案

在方案和專案檔轉換為 Visual Studio 2008 格式之後,您應該驗證應用程式可以組建無誤且能如預期般執行。

在 Visual Studio 2008 中驗證 Web 應用程式專案

  1. 在 Visual Studio 2008 中,按一下 [檔案] 功能表上的 [開啟檔案],然後輸入或瀏覽至要驗證之方案的 .sln 檔案。

  2. 按一下 [專案] 功能表上的 [建置方案]。

  3. 按一下 [偵錯] 功能表上的 [啟動]。

  4. 驗證 Web 應用程式專案能如預期般執行。

常見錯誤和警告

下列是在轉換處理序期間,最常見的錯誤或警告類型:

  • 與 .NET Framework 2.0 版中引入的名稱衝突。

  • 與過時成員相關的警告。

  • 執行 Web 應用程式時發生的問題。

若要修正命名衝突,可以在命名空間 (Namespace) 中完整限定現有名稱以移除模稜兩可 (Ambiguity),或將衝突的類型與成員重新命名而使其不再彼此衝突。如需命名衝突的詳細資訊,請參閱 ASP.NET 2.0 移轉概觀命名空間命名方針

如果看到與過時成員相關的警告,該警告訊息通常會建議使用其他的成員。在這種情況下,可以繼續使用過時的成員。但是,下一個 .NET Framework 主要版本將會移除這些成員。所以,將它們移除並以建議的替代成員取代是很好的做法。

如果在執行 Web 應用程式時看到拒絕目錄清單的錯誤,則 Web 應用程式的虛擬目錄可能不會允許列出其內容。若要修正這個問題,在 [方案總管] 中,以滑鼠右鍵按一下應用程式起始頁面,然後按一下 [設定為起始頁]。這樣便可確定應用程式執行時會叫用正確的頁面。

將程式碼後置類別轉換為部分類別。

在 Visual Studio 2008 中,Web 應用程式專案會針對 Visual Studio 產生的程式碼使用部分類別。這些類別會儲存在個別的檔案中,與程式碼後置檔案分開。根據預設,[Visual Studio 2008 轉換精靈] 不會針對 Web 網頁 (.aspx 檔案) 或使用者控制項 (.ascx 檔案) 建立 *.designer.cs 檔案或 *.designer.vb 檔案,反而程式碼的外觀和運作方式都與 Visual Studio .NET 2003 中相同。

注意事項:

[Visual Studio 2008 轉換精靈] 會在轉換處理序期間,對程式碼檔案進行可能的最少量變更,這有助於確保平穩地轉換為 Visual Studio 2008 中的 Web 應用程式專案。

您可以將程式碼保留為 Visual Studio .NET 2003 格式。如果要這麼做,則必須手動更新程式碼後置檔案中的控制項欄位宣告,如同在 Visual Studio .NET 2003 中一樣。不過,若要利用在產生的程式碼中維護欄位宣告的功能,則應該更新網頁及控制項,以使用部分類別模型。部分類別可使程式碼後置檔案的產生程式碼和自訂程式碼更易於整理。如需詳細資訊,請參閱 Partial (Visual Basic)partial (型別) (C# 參考)

若要將程式碼轉換為使用部分類別模型

  1. 請確定程式碼編譯作業未發生錯誤。

  2. 以滑鼠右鍵按一下 [方案總管] 中的專案名稱,然後按一下 [轉換成 Web 應用程式]。

    這項命令會逐一查看專案中的每個頁面與使用者控制項。它會將所有的控制項宣告移至 .designer.cs 或 designer.vb 檔中。它也可以將事件處理常式宣告加入至 .aspx 和 .ascx 檔案中的伺服器控制項標記中。

    注意事項:

    您可以在個別頁面上使用 [轉換成 Web 應用程式] 命令。您可以先在幾個頁面上進行這項作業,以便查看對每個頁面所造成的變更,然後再將變更套用至整個應用程式。

    您無法復原 [轉換成 Web 應用程式] 命令的效果。復原變更最好的方法,是從 Visual Studio .NET 2003 專案的備份進行復原,然後再依上述方式重新執行 Visual Studio 2008 轉換。

  3. 在這個程序完成後,請檢查 [工作清單] 視窗,以查看是否有報告任何轉換錯誤。

  4. 如果 [工作清單] 有顯示錯誤,則請以滑鼠右鍵按一下 [方案總管] 中的相關頁面,並選取 [檢視程式碼] 和 [檢視程式碼產生檔案] 以檢查程式碼並修正問題。

    注意事項:

    顯示在 [工作清單] 視窗中的錯誤和警告會在 Visual Studio 工作階段之間持續。在已修正視窗中列出的錯誤後,就可以從工作清單清除項目。

  5. 重新編譯專案,以確定專案在編譯時未發生任何錯誤。

從此時開始,當您在 Web 專案中加入頁面時,根據預設這些頁面就會使用部分類別範本。如需詳細資訊,請參閱 ASP.NET 2.0 移轉概觀

檢查和解決 XHTML 相容性問題

根據預設,Visual Studio 2008 會產生並驗證符合 XHTML 標準的標記。這可協助您建置與標準相容的 Web 應用程式,並有助於盡量減少瀏覽器特定的呈現問題。根據預設,Visual Studio .NET 2003 不會產生符合 XHTML 標準的標記。因此,將 Web 應用程式轉換成 Visual Studio 2008 之後,可能會看到在 Visual Studio .NET 2003 中建立的頁面發生驗證和呈現問題。

注意事項:

驗證錯誤只會提供資訊,且會標註為警告。驗證錯誤並不能防止頁面執行。

如果想要像在 Visual Studio .NET 2003 中一樣地查看 HTML 驗證錯誤,請將 HTML 驗證設定從 [XHTML Transitional] 切換為 [Internet Explorer 6.0]。[Internet Explorer 6.0] 是 Visual Studio .NET 2003 進行 HTML 驗證的預設設定。如需詳細資訊,請參閱 HOW TO:在 Visual Web Developer 中為 HTML 編輯選取驗證結構描述

您也可以將下列區段加入專案的 Web.config 檔案,這樣 ASP.NET 就可以呈現伺服器控制項的舊版 (非 XHTML 相容) 標記:

<system.Web>
  <xhtmlConformance mode="Legacy" />
</system.Web>

如此可避免使用 ASP.NET 1.1 和 ASP.NET 2.0 所顯示的頁面之間發生呈現上的細微差異;不過,請只使用 xhtmlConformance 模式變更來解決所有的轉換問題。當 Web 應用程式專案正確執行時,請移除舊版的組態設定。如需詳細資訊,請參閱 ASP.NET 和 XHTMLASP.NET 2.0 移轉概觀

請參閱

工作

HOW TO:升級在 Visual Studio .NET 2002 或 2003 中建立的專案

概念

從 Visual Studio .NET 轉換 Web 專案

ASP.NET 2.0 移轉概觀

ASP.NET Web 網頁程式碼模型

ASP.NET 和 XHTML

參考

Partial (Visual Basic)

partial (型別) (C# 參考)

部分類別和方法 (C# 程式設計手冊)

Visual Studio 轉換精靈

其他資源

命名空間命名方針