方法: 拡張機能を登録および管理する

Visual Studio Premium または Visual Studio Ultimate が備えている機能をさらに強化するために、リファクタリング、データベース コード分析用規則、データベース単体テストの条件、およびデータ ジェネレーターに対し、カスタムの種類およびターゲットを追加することができます。 ただし、自分で拡張機能を作成する場合でも、他の人が作成した拡張機能をインストールする場合でも、拡張機能を使用する前にはそれを登録する必要があります。 詳細については、「Visual Studio のデータベース機能の拡張」を参照してください。

ベスト プラクティスとして、Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions フォルダー内に、独自の拡張機能用のフォルダーを作成することをお勧めします。 この方法を使用すると、書き込みアクセス許可を Extensions フォルダー自体には付与せずに、サブフォルダーに付与できます。 これにより、ユーザーがカスタムの拡張機能を追加できるようにする一方で、Visual Studio のファイルが誤って変更されるのを防ぐことができます。

ヒント

Program Files\Microsoft Visual Studio 10.0\VSTSDB\ フォルダーにサブフォルダーを作成するには、コンピューターの管理者のアクセス許可が必要です。 適切なアクセス許可がない場合は、ネットワーク管理者に問い合わせてください。

セキュリティの考慮事項

自分で作成したのではない拡張機能をインストールする前に、次のリスクを理解しておく必要があります。

  • 拡張機能のセットアップ プログラムが悪意のあるプログラムであった場合、インストール用のアクセス許可を使用して、保護されているリソースにアクセスされる可能性があります。

  • 拡張機能自体が悪意のあるプログラムであった場合、この拡張機能を使用するユーザーが十分なアクセス許可を持っていると、保護されているリソースの制御が奪われる可能性があります。

リスクを最小限に抑えるため、作成元が明らかな場合にのみ拡張機能をインストールしてください。 信頼関係のないソースから拡張機能を取得した場合は、その拡張機能をインストールして使用する前に、拡張機能とそのセットアップ プログラム (存在する場合) のソース コードを検査する必要があります。

カスタムの拡張機能をインストールするには

  • 署名済みのアセンブリ (.dll) を Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions フォルダーにコピーします。

    CustomExtensions は、拡張機能用のアセンブリと XML ファイルを格納するために、自分またはコンピューターの管理者が作成したフォルダーの名前です。

    注意

    アセンブリと XML ファイルは、Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions フォルダーに直接コピーしないことをお勧めします。 代わりにサブフォルダーを使用することで、Visual Studio に付属する他のファイルを誤って変更することを防止できます。

    次に、拡張機能を登録して、Visual Studio に表示されるようにする必要があります。

拡張機能を登録するには

  1. [表示] メニューの [その他のウィンドウ] をクリックし、[コマンド ウィンドウ] をクリックします。

  2. [コマンド] ウィンドウに次のコードを入力します。FilePath は、アセンブリのパスとファイル名に置き換えます。 パスとファイル名は引用符で囲みます。

    注意

    拡張機能を自分で作成した場合、コンパイル済みの .dll ファイルの既定のパスは、YourSolutionPath\bin\Debug または YourSolutionPath\bin\Release になります。

    ? System.Reflection.Assembly.LoadFrom("FilePath").FullName
    
    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. Enter キーを押します。

  4. 作成された行をクリップボードにコピーします。 行は次のようになります。

    "GeneratorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    
  5. プレーンテキスト エディター (メモ帳など) を開きます。

  6. 次の情報を入力し、独自のアセンブリ名、公開キー トークン、および拡張機能の型を指定します。

    <?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="<enter extension type here>" assembly="<enter assembly name here>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
    </extensions>
    

    拡張機能の型は、"namespace.classname" という形式です。 アセンブリ名には、.dll 拡張子は含めません。

    ヒント

    アセンブリに複数のクラスがある場合は、ファイルに拡張機能の型の一覧を含めることができます。

  7. Extensions.xml というファイル名拡張子を付けて、ファイルを保存します。

    たとえば、ファイルに「TestConditionName.Extensions.xml」という名前を付けます。

  8. このファイルを、Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions フォルダーに追加します。

    CustomExtensions は、拡張機能用のアセンブリと XML ファイルを格納するために、自分またはコンピューターの管理者が作成したフォルダーの名前です。

    注意

    アセンブリと XML ファイルは、Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions フォルダーに直接コピーしないことをお勧めします。 代わりにサブフォルダーを使用することで、Visual Studio に付属する他のファイルを誤って変更することを防止できます。

  9. Visual Studio を終了し、もう一度開きます。

    これで、拡張機能を使用できるようになります。

使用例

次の例は、「チュートリアル: SQL 用のカスタムの静的コード分析規則アセンブリを作成する」で作成したカスタム データベース コード分析規則を登録するために必要な XML ファイルを示しています。 独自の公開キーおよびアセンブリ名に置き換える必要があります。 次の例では、アセンブリ名が "SampleRules" になっています。

<?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="SampleRules.AvoidWaitForDelayRule" assembly="SampleRules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
</extensions>

参照

概念

データベース単体テストのカスタム条件の定義

カスタム データ ジェネレーターを使用した特殊なテスト データの生成

カスタムのデータベース リファクタリングの種類またはターゲットの作成

データベース コード分析用の追加規則の作成と登録