方法 : 機能拡張を登録および管理する
カスタムのリファクタリングの種類とターゲット、データベース コードの分析のための規則、データベース単体テストの条件、およびデータ ジェネレータを追加して、Visual Studio Team System Database Edition で提供される機能を拡張できます。 ただし、機能拡張を独自に作成した場合も、他のユーザーによって作成された機能拡張をインストールした場合も、機能拡張を使用する前に、まずこれを登録する必要があります。 詳細については、「Database Edition の機能の拡張」を参照してください。
[Program Files]\Microsoft Visual Studio 9.0\VSTSDB\Extensions フォルダ内に拡張機能用のフォルダを作成することをお勧めします。 この方法を使用すると、サブフォルダに対する書き込みアクセス許可を付与しても、Extensions フォルダ自体に対するアクセス許可は付与されません。 ユーザーはカスタム拡張機能を追加できますが、Database Edition の一部であるファイルを誤って変更することはありません。
注意 : |
---|
[Program Files]\Microsoft Visual Studio 9.0\VSTSDB\ フォルダ内にサブフォルダを作成するには、コンピュータに対する管理者アクセス許可が必要です。 適切なアクセス許可がない場合は、ネットワーク管理者に問い合わせてください。 |
セキュリティの考慮事項
自分で作成したのではない拡張機能をインストールする前に、次のリスクを理解しておく必要があります。
拡張機能のインストール プログラムは、悪意のあるものである可能性があり、インストールのアクセス許可に基づいて、保護されているリソースへのアクセスを取得する可能性があります。
拡張機能自体が悪意のあるものである可能性があり、拡張機能を実行するユーザーが十分な許可を持っている場合、保護されているリソースの制御を取得される可能性があります。
リスクを最小限に抑えるために、拡張機能は、既知のソースからのものである場合にのみインストールしてください。 信頼関係のないソースから拡張機能を取得した場合は、拡張機能をインストールして使用する前に、拡張機能とそのインストール プログラム (存在する場合) のソース コードを検査する必要があります。
カスタム機能拡張をインストールするには
署名済みのアセンブリ (.dll) を [Program Files]\Microsoft Visual Studio 9.0\VSTSDB\Extensions\CustomExtensions フォルダにコピーします。
CustomExtensions は、機能拡張用のアセンブリと XML ファイルを格納するために作成した (またはコンピュータ管理者によって作成された) フォルダの名前です。
メモ : [Program Files]\Microsoft Visual Studio 9.0\VSTSDB\Extensions フォルダにアセンブリと XML ファイルを直接コピーしないでください。 代わりにサブフォルダを使用することにより、Database Edition で提供される他のファイルを誤って変更することを防止できます。
次に、拡張機能を登録して、Database Edition に表示されるようにする必要があります。
機能拡張を登録するには
[表示] メニューの [その他のウィンドウ] をポイントし、[コマンド ウィンドウ] をクリックします。
コマンド ウィンドウ内で、次のコードを入力します。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 9.0\VSTSDB\Extensions\CustomExtensions フォルダに追加します。
CustomExtensions は、機能拡張用のアセンブリと XML ファイルを格納するために作成した (またはコンピュータ管理者によって作成された) フォルダの名前です。
メモ : [Program Files]\Microsoft Visual Studio 9.0\VSTSDB\Extensions フォルダにアセンブリと XML ファイルを直接コピーしないでください。 代わりにサブフォルダを使用することにより、Database Edition で提供される他のファイルを誤って変更することを防止できます。
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>
参照
概念
カスタム データ ジェネレータで独自のテスト データを生成する
カスタムのデータベース リファクタリングの種類またはターゲットの作成
その他の技術情報
シナリオ : データベース リファクタリングの新しいターゲットのサポート