Freigeben über


ProvideObjectAttribute Klasse

Definition

Informiert Visual Studio, dass das VSPackage ein Objekt bereitstellt, das über die ILocalRegistrySchnittstelle erstellt werden kann. Diese Klasse kann nicht vererbt werden.

public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideObjectAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideObjectAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideObjectAttribute
Inherits RegistrationAttribute
Vererbung
ProvideObjectAttribute
Attribute

Beispiele

Implementierungen der ProvideObjectAttribute -Klasse finden Sie in den verwalteten Beispielen. Der Standardspeicherort für diese und alle anderen Attribute, die für die automatische Registrierung verwendet werden, befindet sich neben der Implementierung der Microsoft.VisualStudio.Package Klasse in VsPkg.cs, VsPkg.vb oder VsPkg.cpp, je nach sprache, die im Beispiel verwendet wird.

Hinweise

Wann sollte aufgerufen werden?

Wenden Sie das ProvideObjectAttribute Attribut auf Ihre Microsoft.VisualStudio.Package-abgeleitete Klasse an, wenn sie ein Objekt bereitstellt, das über die ILocalRegistry-Schnittstelle erstellt werden kann.

Grundlegende Verwendung

Die ProvideObjectAttribute -Klasse informiert Visual Studio, dass sie ein Objekt bereitstellt, das über die ILocalRegistrySchnittstelle erstellt werden kann. Verwenden Sie immer dieses Attribut, anstatt Objekte global im Abschnitt HKEY_CLASSES_ROOT\CLSID der Registrierung zu registrieren. Verwenden Sie , ProvideObjectAttributeum eine Microsoft.VisualStudio.Package-abgeleitete Klasse oder eine Klasse zu ändern, die implementiert IVsPackage.

Diese Attributklasse wird nur verwendet, um Daten für externe Registrierungstools wie regpkg.exe bereitzustellen. Es hat keine Auswirkungen auf das Laufzeitverhalten des VSPackage. Weitere Informationen finden Sie unter Registrieren von VSPackages.

Hinweis

C# fügt automatisch das Wort "Attribut" an den Namen einer beliebigen Attributklasse an. Verweisen Sie in C#-Code auf dieses Attribut als ProvideObject.

Registrierungseinträge

  • Die folgenden Registrierungseinträge werden von der ProvideObjectAttribute -Klasse erstellt:

  • <VSROOT>\CLSID\{ObjectGuid}

  • <VSROOT>\CLSID\{ObjectGuid}\@=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\InprocServer32=mscoree.dll

  • <VSROOT>\CLSID\{ObjectGuid}\Class=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\Assembly=ObjectType.Assembly.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\ThreadingModel=Both

  • <VSROOT>\CLSID\{PackageGuid}\CodeBase=context. Codebasis

Konstruktoren

ProvideObjectAttribute(Type)

Dieser Konstruktor erstellt ein neues ProvideObjectAttribute-Objekt mit dem angegebenen Objekttyp.

Eigenschaften

ObjectType

Die ObjectType-Eigenschaft gibt den im Konstruktor festgelegten Objekttyp zurück.

RegisterUsing

Wählen Sie zwischen der Angabe des Codebase-Eintrags oder des Assemblyeintrags in der Registrierung aus. Dies kann während der Registrierung überschrieben werden.

TypeId

Überschreiben Sie die TypeID-Eigenschaft, damit die abgeleiteten RegistrationAttribute-Klassen mit System.ComponentModel.TypeDescriptor.GetAttributes(...) arbeiten können. Ein von diesem abgeleitetes Attribut muss diese Eigenschaft nur überschreiben, wenn es eine bessere Steuerung für die Instanzen benötigt, die auf eine Klasse angewendet werden können.

(Geerbt von RegistrationAttribute)

Methoden

GetPackageRegKeyPath(Guid)

Ruft den Registrierungspfad (relativ zum Registrierungsstamm der Anwendung) des VSPackages ab.

(Geerbt von RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Stellt Registrierungsinformationen zu einem VSPackage bereit, wenn der Aufruf über ein externes Registrierungstool wie regpkg.exe erfolgt. Weitere Informationen finden Sie unter Registrieren von VSPackages.

Unregister(RegistrationAttribute+RegistrationContext)

Hebt die Registrierung für dieses Attribut auf.

Gilt für: