Angeben des VSPackage-Dateispeicherorts für die VS Shell

Visual Studio muss die Assembly-DLL finden können, um das VSPackage zu laden. Sie können sie auf verschiedene Arten finden, wie in der folgenden Tabelle beschrieben.

Methode Beschreibung
Verwenden Sie den CodeBase-Registrierungsschlüssel. Der CodeBase-Schlüssel kann verwendet werden, um Visual Studio zum Laden der VSPackage-Assembly aus einem beliebigen vollqualifizierten Dateipfad zu leiten. Der Wert des Schlüssels sollte der Dateipfad zur DLL sein. Dies ist die beste Möglichkeit, die Paketassembly von Visual Studio zu laden. Diese Technik wird manchmal als "CodeBase/private Installationsverzeichnistechnik" bezeichnet. Während der Registrierung wird der Wert der Codebasis über eine Instanz des RegistrationAttribute.RegistrationContext Typs an die Registrierungsattributeklassen übergeben.
Platzieren Sie die DLL in das Verzeichnis "PrivateAssemblies ". Platzieren Sie die Assembly im Unterverzeichnis "PrivateAssemblies " des Visual Studio-Verzeichnisses. Assemblys, die sich in PrivateAssemblies befinden, werden automatisch erkannt, sind aber im Dialogfeld "Verweise hinzufügen" nicht sichtbar. Der Unterschied zwischen PrivateAssemblies und PublicAssemblies besteht darin, dass Assemblys in PublicAssemblies im Dialogfeld "Verweise hinzufügen" aufgezählt werden. Wenn Sie sich entschieden haben, das Verfahren "CodeBase/privates Installationsverzeichnis" nicht zu verwenden, sollten Sie es im Verzeichnis "PrivateAssemblies " installieren.
Verwenden Sie eine assembly mit starkem Namen und den Assemblyregistrierungsschlüssel. Der Assemblyschlüssel kann verwendet werden, um Visual Studio explizit zum Laden einer stark benannten VSPackage-Assembly zu leiten. Der Wert des Schlüssels sollte der starke Name der Assembly sein.
Platzieren Sie die DLL in das Verzeichnis "PublicAssemblies ". Schließlich kann die Assembly auch in das Unterverzeichnis "PublicAssemblies " eingefügt werden. Assemblys, die sich in PublicAssemblies befinden, werden automatisch erkannt und werden auch im Dialogfeld "Verweise hinzufügen" in Visual Studio angezeigt.

VSPackage-Assemblys sollten nur im PublicAssemblies-Verzeichnis platziert werden, wenn sie verwaltete Komponenten enthalten, die von anderen VSPackage-Entwicklern wiederverwendet werden sollen. Die Mehrzahl der Assemblys erfüllt dieses Kriterium nicht.

Hinweis

Verwenden Sie stark benannte, signierte Assemblys für alle abhängigen Assemblys. Diese Assemblys sollten auch in Ihrem eigenen Verzeichnis oder im globalen Assemblycache (GAC) installiert werden. Dadurch wird vor Konflikten mit Assemblys geschützt, die denselben Basisdateinamen aufweisen, der als Bindung mit schwachem Namen bezeichnet wird.