以前のバージョンの Visual Studio Team System Database Edition で作成した単体テストの既存の条件が正しく機能するようにするには、テスト条件をアップグレードする必要があります。 そのためには、次の手順が必要です。
参照の更新
拡張機能互換性属性の追加
新しい登録プロセスの適用
参照の更新
プロジェクト参照を更新するには
(Visual Basic のみ) ソリューション エクスプローラで、[すべてのファイルを表示] をクリックします。
ソリューション エクスプローラで、[参照設定] ノードを展開します。
以前の Microsoft.VisualStudio.TeamSystem.Data.UnitTesting 参照を右クリックし、[削除] をクリックします。
ソリューション エクスプローラで、[参照設定] ノードを右クリックし、[参照の追加] をクリックします。
または
[プロジェクト] メニューの [参照の追加] をクリックします。
[参照の追加] ダイアログ ボックスが表示されます。
[.NET] タブをクリックします。 [コンポーネント名] ボックスの一覧の [Microsoft.Data.Schema] と [Microsoft.Data.Schema.UnitTesting] をクリックし、[OK] をクリックします。
これで、テスト条件で現在の参照が使用されるようになります。
拡張機能互換性属性の追加
次に、以下の手順に示すように、拡張機能互換性属性を追加して既存のクラスを更新する必要があります。 機能拡張を定義するときは、特定のデータベース スキーマ プロバイダ (DSP: Database Schema Provider) または基本データベース スキーマ プロバイダと、その拡張機能の互換性を宣言し、拡張機能が適切なプロジェクトの種類に対してのみ読み込まれるようにします。 拡張機能互換性属性の詳細については、「Database Edition の機能の拡張」を参照してください。
拡張機能互換性属性を追加するには
次の例に示すように、データベース サービス プロバイダの拡張機能互換性属性を追加します。
<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 }
新しい登録プロセスの適用
以前のバージョンの Database Edition では、テスト条件をグローバル アセンブリ キャッシュにインストールする必要がありました。 Database Edition のこのリリースでは、次の手順に示すように登録プロセスが変更されています。 詳細については、「方法 : 機能拡張を登録および管理する」を参照してください。
更新された参照を設定したら、アセンブリが署名およびコンパイルされていることを確認します。
次に、カスタム拡張機能アセンブリの登録を容易にするために、プロジェクト内で生成されたアセンブリ情報 (バージョン、カルチャ、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 ディレクトリにコピーします。 Database Edition が起動すると、<Microsoft Visual Studio 9.0>\VSTSDB\Extensions ディレクトリとそのサブディレクトリ内の拡張機能が識別され、セッションで使用できるよう登録されます。
アセンブリと XML ファイルを Extensions ディレクトリにコピーするには
<Microsoft Visual Studio 9.0>\VSTSDB\Extensions\ ディレクトリに CustomGenerators という名前の新しいフォルダを作成します。
My Documents\Visual Studio 2008\Projects\<projectName>\<projectName>\bin\Debug\ ディレクトリのアセンブリ ファイルを、前の手順で作成した <Microsoft Visual Studio 9.0>\VSTSDB\Extensions\CustomGenerators ディレクトリにコピーします。
My Documents\Visual Studio 2008\Projects\<projectName>\<projectName>\ ディレクトリの XML ファイルを、前の手順で作成した <Microsoft Visual Studio 9.0>\VSTSDB\Extensions\CustomGenerators ディレクトリにコピーします。
ヒント :
拡張機能アセンブリは、<Microsoft Visual Studio 9.0>\VSTSDB\Extensions ディレクトリにフォルダを作成して格納することをお勧めします。 これにより、もともと製品に用意されていた拡張機能と、自分の作成した拡張機能を識別できます。 また、フォルダを使用すると、拡張機能を詳細なカテゴリに分類することもできます。