HOW TO:從舊版升級自訂測試條件
本主題適用於 Visual Studio Premium 和 Visual Studio Ultimate,但不適用於 Visual Studio 2010 Professional 或 Visual Studio Express 版本。
為了讓您在舊版 Visual Studio 中建立的現有測試單元條件正確運作,您必須升級它。 升級所需步驟如下:
更新參考
加入擴充相容性屬性
套用新的註冊程序
更新參考
若要更新專案參考
(僅限 Visual Basic) 在 [方案總管] 中按一下 [顯示所有檔案]。
在 [方案總管] 中,展開 [參考] 節點。
以滑鼠右鍵按一下舊版 [Microsoft.Data.Schema.UnitTesting] 參考,然後按一下 [移除]。
在 [方案總管] 中,以滑鼠右鍵按一下 [參考] 節點,然後按一下 [加入參考]。
-或-
在 [專案] 功能表上,按一下 [加入參考]。
[加入參考] 對話方塊隨即出現。
按一下 [.NET] 索引標籤。 在 [元件名稱] 清單中,選取 [Microsoft.Data.Schema] 和 [Microsoft.Data.Schema.UnitTesting],然後按一下 [確定]。
您的「測試條件」(Test Condition) 現在會使用正確的參考。
加入擴充相容性屬性
接下來,您必須確認您的測試條件類別具有擴充相容性屬性,如下列程序所示。 當您定義「擴充功能」(Feature Extension) 時,會使用特定「資料庫結構描述提供者」(Database Schema Provider,DSP) 或基底資料庫結構描述提供者宣告該擴充的相容性,以便針對正確的專案類型載入擴充。 如需擴充相容性屬性的詳細資訊,請參閱擴充 Visual Studio 的資料庫功能。
若要加入擴充相容性屬性
加入資料庫服務提供者擴充相容性屬性,如下列範例所示:
<DatabaseServicesProviderCompatibility (GetType(DspCompatibilityCategory.None))> _ <DisplayName("NewTestCondition")> _ Public Class NewTestCondition Inherits TestCondition End Class
[DatabaseServicesProviderCompatibility(DspCompatibilityCategory.None)] [DisplayName("NewTestCondition")] public class NewTestCondition:TestCondition { // Additional implementation to be added here }
套用新的註冊程序
在舊版 Visual Studio 中,您必須將測試條件安裝到全域組件快取。 這個版本的 Visual Studio Premium 或 Visual Studio Ultimate 則變更了註冊程序,如下列程序所示。 如需詳細資訊,請參閱 HOW TO:註冊和管理功能擴充。
設好更新的參考之後,請確認您的組件是否已簽署和編譯。
下一個步驟是收集專案中產生的組件資訊,包括版本、文化特性 (Culture) 和 PublicKeyToken,以加快註冊自訂擴充組件的速度。
若要收集組件資訊
按照上面程序所示設好更新的參考並加入擴充相容性屬性之後,確認您的組件是否已簽署和編譯。
按一下 [檢視] 功能表上的 [其他視窗],然後按一下 [命令視窗] 開啟 [命令視窗]。
在 [命令] 視窗中輸入下列程式碼。 將 FilePath 替代為已編譯之 .dll 檔案的路徑和檔案名稱。 請在路徑和檔案名稱周圍加上引號。
注意事項 根據預設,已編譯之 .dll 檔案的路徑為 SampleGenerator\bin\Debug。
? System.Reflection.Assembly.LoadFrom(@"<FilePath>").FullName
按 ENTER。 該行應該看起來如下,其中含有您的特定 PublicKeyToken:
" GeneratorDateRanges, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
標記或複製此組件資訊;此資訊將用於下一個程序。
接下來,您將使用在上一個程序中收集的組件資訊來建立 XML 檔案。
若要建立 XML 檔
在 [方案總管] 中選取專案。
在 [專案] 功能表中選取 [加入新項目]。
[加入新項目] 對話方塊隨即出現。
在 [範本] 窗格中,找出並選取 [XML 檔] 項目。
在 [名稱] 文字方塊中,輸入應用程式名稱,然後按一下 [加入] 按鈕。
XML 檔會加入至 [方案總管] 中的專案。
注意事項 您必須使用您的 dll 名稱 (在此例中為 "myDllName" 後面接著 ".Extensions.xml"),組件才能正確註冊。
開啟並更新 XML 檔,以與此程序稍後的 XML 程式碼相符。 取代您在前面程序擷取的組件版本、文化特性和 PublicKeyToken。
<?xml version="1.0" encoding="utf-8"?> <extensions assembly="" version="1" xmlns="urn:Microsoft.Data.Schema.Extensions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd"> <extension type=" myDllName.myClassName" assembly="myDllName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn" enabled="true"/> </extensions>
按一下 [檔案] 功能表上的 [全部儲存]。
接下來,您會將組件和 XML 檔複製到 Extensions 目錄。 當 Visual Studio Premium 啟動時,它會識別和註冊 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions 目錄和子目錄中的任何擴充,以在工作階段中使用。
若要複製並註冊組件和 XML 檔到 Extensions 目錄
在 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\ 目錄中建立名為 CustomGenerators 的新資料夾。
將組件檔從 My Documents\Visual Studio 2008\Projects\<projectName>\<projectName>\bin\Debug\ 目錄複製到您剛才建立的 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators 目錄中。
將 XML 檔從 My Documents\Visual Studio 2008\Projects\<projectName>\<projectName>\ 目錄複製到您剛才建立的 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators 目錄。
秘訣 最佳做法是將擴充組件置於 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions 目錄中的資料夾。 這有助您識別哪些擴充功能已包含在產品中,哪些是自訂建立的。 也建議使用資料夾,將擴充功能組織到特定類別。