共用方式為


為 VS Shell 指定 VSPackage 檔案位置

Visual Studio 必須能夠找出組件 DLL 以載入 VSPackage。 您可以利用多種方式找到該組件,如下表所述。

方法 描述
使用 CodeBase 登錄機碼。 CodeBase 機碼可用來指示 Visual Studio 從任何完整檔案路徑載入 VSPackage 組件。 機碼的值應該是 DLL 的檔案路徑。 這是讓 Visual Studio 載入套件組件的最佳方式。 這項技術有時稱為「CodeBase/私人安裝目錄技術」。在註冊過程中,CodeBase 的值會透過 RegistrationAttribute.RegistrationContext 類型的執行個體傳遞至註冊屬性類別。
將 DLL 放入 PrivateAssemblies 目錄。 將組件放在 Visual Studio 目錄的 PrivateAssemblies 子目錄中。 自動偵測位於 PrivateAssemblies 中的組件,但其在 [新增參考] 對話方塊中不可見。 PrivateAssembliesPublicAssemblies 之間的差異為 PublicAssemblies 中的組件己列舉於 [新增參考] 對話方塊中。 如果您選擇不使用「CodeBase/私人安裝目錄」技術,則應該安裝到 PrivateAssemblies 目錄中。
使用強式命名的組件和 Assembly 登錄機碼。 Assembly 機碼可用來明確指示 Visual Studio 載入強式命名的 VSPackage 組件。 機碼的值應該是組件的強式名稱。
將 DLL 放入 PublicAssemblies 目錄中。 最後,該組件也可以放入 PublicAssemblies 子目錄中。 系統會自動偵測位於 PublicAssemblies 中的組件,也會出現在 Visual Studio 的 [新增參考] 對話方塊中。

如果 VSPackage 組件包含其他 VSPackage 開發人員想要重複使用的受控元件,則應該只放在 PublicAssemblies 目錄中。 大部分組件都不符合此準則。

注意

針對所有相依組件使用強式命名、已簽署的組件。 這些組件也應安裝在您自己的目錄或全域組件快取 (GAC)。 這可防止與具有相同基底檔名的組件發生衝突,稱為弱式名稱繫結。