次の方法で共有


VSPackage ファイルの場所を VS Shell に指定する

VSPackage を読み込むためには、Visual Studio でアセンブリ DLL を見つけられることが必要です。 次の表で説明するように、さまざまな方法で見つけることができます。

メソッド 説明
CodeBase レジストリ キーを使用します。 任意の完全修飾ファイル パスから VSPackage アセンブリを読み込むよう、CodeBase キーを使用して Visual Studio に指示することができます。 キーの値は DLL のファイル パスである必要があります。 これは、Visual Studio にパッケージ アセンブリを読み込ませるための最良の方法です。 この手法は、"CodeBase/プライベート インストール ディレクトリ手法" と呼ばれることもあります。登録時に、コードベースの値は、RegistrationAttribute.RegistrationContext 型のインスタンスを介して登録属性クラスに渡されます。
DLL を PrivateAssemblies ディレクトリに配置します。 アセンブリを Visual Studio ディレクトリの PrivateAssemblies サブディレクトリに配置します。 PrivateAssemblies にあるアセンブリは自動的に検出されますが、[参照の追加] ダイアログ ボックスには表示されません。 PrivateAssembliesPublicAssemblies の違いは、PublicAssemblies 内のアセンブリは [参照の追加] ダイアログ ボックスで列挙されることです。 "CodeBase/プライベート インストール ディレクトリ" の手法を使用しないことを選択した場合は、PrivateAssemblies ディレクトリにインストールする必要があります。
厳密な名前のアセンブリと Assembly レジストリ キーを使用します。 Assembly キーを使用して、厳密な名前の VSPackage アセンブリを読み込むよう Visual Studio に明示的に指示することができます。 キーの値はアセンブリの厳密な名前である必要があります。
DLL を PublicAssemblies ディレクトリに配置します。 最後に、アセンブリは PublicAssemblies サブディレクトリにも配置できます。 PublicAssemblies にあるアセンブリは自動的に検出され、Visual Studio の [参照の追加] ダイアログ ボックスにも表示されます。

VSPackage アセンブリを PublicAssemblies ディレクトリに配置する必要があるのは、他の VSPackage 開発者による再利用が意図されているマネージド コンポーネントがアセンブリに含まれている場合だけです。 アセンブリの大部分は、この条件を満たしていません。

Note

すべての依存アセンブリに対して、厳密な名前の署名付きアセンブリを使用します。 これらのアセンブリは、独自のディレクトリまたはグローバル アセンブリ キャッシュ (GAC) にインストールする必要もあります。 これにより、弱い名前のバインドと呼ばれる、同じベース ファイル名を持つアセンブリとの競合から保護されます。