VSPackage ファイルの場所を VS Shell に指定する
VSPackage を読み込むためには、Visual Studio でアセンブリ DLL を見つけられることが必要です。 次の表で説明するように、さまざまな方法で見つけることができます。
メソッド | 説明 |
---|---|
CodeBase レジストリ キーを使用します。 | 任意の完全修飾ファイル パスから VSPackage アセンブリを読み込むよう、CodeBase キーを使用して Visual Studio に指示することができます。 キーの値は DLL のファイル パスである必要があります。 これは、Visual Studio にパッケージ アセンブリを読み込ませるための最良の方法です。 この手法は、"CodeBase/プライベート インストール ディレクトリ手法" と呼ばれることもあります。登録時に、コードベースの値は、RegistrationAttribute.RegistrationContext 型のインスタンスを介して登録属性クラスに渡されます。 |
DLL を PrivateAssemblies ディレクトリに配置します。 | アセンブリを Visual Studio ディレクトリの PrivateAssemblies サブディレクトリに配置します。 PrivateAssemblies にあるアセンブリは自動的に検出されますが、[参照の追加] ダイアログ ボックスには表示されません。 PrivateAssemblies と PublicAssemblies の違いは、PublicAssemblies 内のアセンブリは [参照の追加] ダイアログ ボックスで列挙されることです。 "CodeBase/プライベート インストール ディレクトリ" の手法を使用しないことを選択した場合は、PrivateAssemblies ディレクトリにインストールする必要があります。 |
厳密な名前のアセンブリと Assembly レジストリ キーを使用します。 | Assembly キーを使用して、厳密な名前の VSPackage アセンブリを読み込むよう Visual Studio に明示的に指示することができます。 キーの値はアセンブリの厳密な名前である必要があります。 |
DLL を PublicAssemblies ディレクトリに配置します。 | 最後に、アセンブリは PublicAssemblies サブディレクトリにも配置できます。 PublicAssemblies にあるアセンブリは自動的に検出され、Visual Studio の [参照の追加] ダイアログ ボックスにも表示されます。 VSPackage アセンブリを PublicAssemblies ディレクトリに配置する必要があるのは、他の VSPackage 開発者による再利用が意図されているマネージド コンポーネントがアセンブリに含まれている場合だけです。 アセンブリの大部分は、この条件を満たしていません。 |
Note
すべての依存アセンブリに対して、厳密な名前の署名付きアセンブリを使用します。 これらのアセンブリは、独自のディレクトリまたはグローバル アセンブリ キャッシュ (GAC) にインストールする必要もあります。 これにより、弱い名前のバインドと呼ばれる、同じベース ファイル名を持つアセンブリとの競合から保護されます。