Freigeben über


ProvideMenuResourceAttribute Klasse

Definition

Stellt Registrierungsinformationen zur Menüressourcen bereit, die in einem VSPackage verwendet werden. Diese Klasse kann nicht vererbt werden.

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

Hinweise

Wann sollte aufgerufen werden?

Wenden Sie auf ProvideMenuResourceAttribute eine Microsoft.VisualStudio.Package-abgeleitete IVsPackage Klasse oder Klasse an, die implementiert, wenn die Klasse eine oder mehrere Menüressourcen enthält. Registrieren Sie die Ressourcen mit regpkg.exe oder einem ähnlichen Registrierungstool. Weitere Informationen finden Sie unter Registrieren von VSPackages.

Grundlegende Verwendung

Die ProvideMenuResourceAttribute -Klasse definiert die Ressourcen-ID und Versionsnummer einer Menüressource, sodass ein Registrierungstool wie regpkg.exe die Menüressource bei Visual Studio registrieren kann. Wenn Visual Studio auf ein VSPackage mit einer registrierten Menüressource trifft, ruft es die Ressourceninformationen aus dem VSPackage oder der verwalteten oder Satelliten-DLL des Pakets ab und führt das Menü mit dem Visual Studio-Menüsystem zusammen. Um zu verwenden ProvideMenuResourceAttribute, platzieren Sie sie in einer Packageabgeleiteten IVsPackageKlasse oder Klasse, die implementiert.

Damit die Menüressource ordnungsgemäß zusammengeführt werden kann, muss die Ressourcen-DLL den Satelliten-DLL-Konventionen folgen. Es muss assemblyfile>UI.dll benannt <und in ein geeignetes, lokalisiertes Unterverzeichnis platziert werden. Weitere Informationen zu Menüs und Menüressourcen finden Sie unter Hinzufügen von Benutzeroberflächenelementen und -befehlen, Menüs und Symbolleisten durch VSPackages.

Diese Attributklasse wird nur verwendet, um Daten für externe Registrierungstools bereitzustellen. Es hat keine Auswirkungen auf das Laufzeitverhalten des VSPackage.

Hinweis

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

Registrierungseinträge

  • Die folgenden Registrierungseinträge werden von ProvideMenuResourceAttributeerstellt:

  • <VSROOT>\Menus\

  • <VSROOT>\Menus\{PackageGuid}=", ResourceID, Version"

Beispiele

Implementierungen der ProvideMenuResourceAttribute -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 Package Klasse in VsPkg.cs, VsPkg.vb oder VsPkg.cpp, je nach sprache, die im Beispiel verwendet wird.

Konstruktoren

ProvideMenuResourceAttribute(Int16, Int32)

Dieser Konstruktor erstellt ein neues ProvideMenuResourceAttribute-Objekt mit der angegebenen Ressourcen-ID und Versionsnummer.

ProvideMenuResourceAttribute(String, Int32)

Initialisiert eine neue Instanz der ProvideMenuResourceAttribute-Klasse mit der angegebenen Ressourcen-ID und Version.

Eigenschaften

IconMappingFilename

Der Pfad zu einer CSV-Datei, die die in der Menüressource definierten Symbolbezeichner Bildmonikern zuordnet. Der Pfad ist entweder ein relativer Pfad, der implizit um $PackageFolder$ gerootet ist, oder ein absoluter Pfad, der explizit in einem Verzeichnis gerootet ist, das von einer Umgebungsvariablen definiert wird (z. B. "%UserProfile%\dir1\dir2\MyMappingFile.csv").

Das Format der CSV-Datei ist:

Icon guid, Icon id, Moniker guid, Moniker id
b714fcf7-855e-4e4c-802a-1fd87144ccad,1,fda30684-682d-421c-8be4-650a2967058e,100
{b714fcf7-855e-4e4c-802a-1fd87144ccad},2,{fda30684-682d-421c-8be4-650a2967058e},200
etc...
ResourceID

Die ResourceID-Eigenschaft gibt den Wert der im Konstruktor festgelegten Ressourcen-ID zurück.

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)
Version

Gibt die Versionsnummer der Menüressource zurück.

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)

Wird aufgerufen, um die Registrierung dieses Attributs für den angegebenen Kontext aufzuheben.

Gilt für: