方法: 拡張機能を登録および管理する
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 に表示されるようにする必要があります。
拡張機能を登録するには
[表示] メニューの [その他のウィンドウ] をクリックし、[コマンド ウィンドウ] をクリックします。
[コマンド] ウィンドウに次のコードを入力します。FilePath は、アセンブリのパスとファイル名に置き換えます。 パスとファイル名は引用符で囲みます。
注意
拡張機能を自分で作成した場合、コンパイル済みの .dll ファイルの既定のパスは、YourSolutionPath\bin\Debug または YourSolutionPath\bin\Release になります。
? System.Reflection.Assembly.LoadFrom("FilePath").FullName
? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
Enter キーを押します。
作成された行をクリップボードにコピーします。 行は次のようになります。
"GeneratorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
プレーンテキスト エディター (メモ帳など) を開きます。
次の情報を入力し、独自のアセンブリ名、公開キー トークン、および拡張機能の型を指定します。
<?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 拡張子は含めません。
ヒント
アセンブリに複数のクラスがある場合は、ファイルに拡張機能の型の一覧を含めることができます。
Extensions.xml というファイル名拡張子を付けて、ファイルを保存します。
たとえば、ファイルに「TestConditionName.Extensions.xml」という名前を付けます。
このファイルを、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 を終了し、もう一度開きます。
これで、拡張機能を使用できるようになります。
使用例
次の例は、「チュートリアル: 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>
参照
概念
カスタム データ ジェネレーターを使用した特殊なテスト データの生成