Freigeben über


ProvideBindingPathAttribute-Klasse

Dieses Attribut ermöglicht, dass die Assembly in Ihrem Visual Studio -Paket oder Ihrer Erweiterung von anderen Paketen und Erweiterungen verwendet werden. Fügt das Verzeichnis hinzu, in dem das Paket für die Visual Studio-Prüfliste installiert ist, die verwendet wird, um Assemblyverweise aufzulösen.

Vererbungshierarchie

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Modeling.Shell.ProvideBindingPathAttribute

Namespace:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideBindingPathAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideBindingPathAttribute : RegistrationAttribute

Der ProvideBindingPathAttribute-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Öffentliche Methode ProvideBindingPathAttribute

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft SubPath Ein optionaler SubPath, der nach dem $PackageFolder$ festgelegt wird.Dies sollte verwendet werden, wenn sich die zu überprüfenden Assemblys in einem anderen Verzeichnis als der pkgdef-Datei befinden.
Öffentliche Eigenschaft TypeId (Von RegistrationAttribute geerbt.)

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.)
Öffentliche Methode GetHashCode Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode IsDefaultAttribute Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.)
Öffentliche Methode Match Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Öffentliche Methode Register Registrieren von einem Komponentenpfad (oder optional von einem Unterpfad des Komponentenpfads) als zusätzlichen Pfad, den der Assembly-Manager in Visual Studio beim Versuch, Assemblys aufzulösen, testen wird.Wird aufgerufen, wenn das Paket installiert wird. (Überschreibt RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode Unregister Heben Sie die Registrierung für den Komponentenpfad als bindenden Pfad auf.Wird aufgerufen, wenn das Paket deinstalliert wird. (Überschreibt RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).)

Zum Seitenanfang

Explizite Schnittstellen implementierungen

  Name Beschreibung
Explizite SchnittstellenimplementierungPrivate Methode _Attribute.GetIDsOfNames Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode _Attribute.GetTypeInfo Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode _Attribute.GetTypeInfoCount Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode _Attribute.Invoke Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)

Zum Seitenanfang

Hinweise

Hinweis

Diese Informationen sind für Visual Studio 2010 auf.Eine alternative Methode wird in späteren Versionen bereitgestellt werden.

Wenn Sie die Assemblys im Paket oder in Erweiterung von anderen Erweiterungen sichtbar sein soll, sollten Sie dieses Attribut in der Paketklasse oder auf die Assembly anwenden. Beispiel:

[ProvideBindingPath] 
public class MyVsPackage : Microsoft.VisualStudio.Shell.Package 
{ ... }

Wenn des Visualisierungs- und Modellierungs-SDKs verwenden, um eine domänenspezifische Sprache (DSL) erstellen, wird das Attribut automatisch in der DslPackage\Package.cs angewendet.

Wenn Sie kein DSL erstellen, die folgende Datei in das Projekt ein:

%VSSDKInstallDir%\VisualStudioIntegration\Common\Source\CSharp\RegistrationAttributes\ProvideBindingPathAttribute.cs

Wenn die Assemblys des Pakets in einem Unterverzeichnis relativ zur .pkgdef Datei sind, können Sie dieser Variante verwenden:

[ProvideBindingPath(SubPath="SubFolder1")] 
public class MyPackage : Microsoft.VisualStudio.Shell.Package 
{ ... }

Sie können mehr als ein ProvideBindingPath-Attribut verwenden, wenn Sie einige Verzeichnisse angeben möchten.

Warnung

Da dieses Attribut die Liste von Ordnern erweitert, in denen Visual Studio Assemblys sucht, werden Sie das Ablegen in der Leistung, wenn Sie zahlreiche Pakete installieren, die dieses Attribut stammen.

Wie das Paket-verbindliche path-Attribut funktioniert

Dieses Attribut generiert einen Eintrag in Datei .pkgdef des Pakets, die im Buildordner suchen können. Dies erstellt wiederum einen Eintrag in der Registrierung, wenn das Paket auf einem Zielcomputer installiert ist. Der Registrierungseintrag stellt einen Pfad, der für entsprechenden Assemblys überprüft werden sollte, wenn andere Assemblys geladen werden.

Beispielsweise ist der .pkgdef Eintrag wie folgt:

[$RootKey$\BindingPaths\die GUID Paket]"$PackageFolder$"=""

Wenn das Paket auf einem Zielcomputer installiert ist, wird ein Registrierungseintrag in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\BindingPaths\die GUID Paket hinzugefügt. Der Eintrag enthält ein Zeichenfolgenattribut, das dem Installationsordner des Pakets.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.Shell-Namespace

Package

Weitere Ressourcen

Bereitstellen von domänenspezifischen Sprachlösungen