Udostępnij za pośrednictwem


ProvideMenuResourceAttribute Klasa

Definicja

Zawiera informacje o rejestracji zasobów menu używanych w pakietach VSPackage. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
ProvideMenuResourceAttribute
Atrybuty

Uwagi

Kiedy zadzwonić

Zastosuj element ProvideMenuResourceAttribute do klasy lub klasy pochodnej Microsoft.VisualStudio.Package, która implementuje IVsPackage , jeśli klasa zawiera co najmniej jeden zasób menu. Zarejestruj zasoby przy użyciu regpkg.exe lub podobnego narzędzia rejestracji. Aby uzyskać więcej informacji, zobacz Rejestrowanie pakietów VSPackages.

Podstawowe użycie

Klasa ProvideMenuResourceAttribute definiuje identyfikator zasobu i numer wersji zasobu menu, umożliwiając narzędziu rejestracji, takie jak regpkg.exe zarejestrowanie zasobu menu w programie Visual Studio. Gdy program Visual Studio napotka pakiet VSPackage z zarejestrowanym zasobem menu, pobiera informacje o zasobie z pakietu VSPackage lub biblioteki DLL zarządzanej lub satelitarnej pakietu i scala menu z systemem menu programu Visual Studio. Aby użyć metody ProvideMenuResourceAttribute, umieść ją w klasie pochodnej Packagelub klasie, która implementuje IVsPackageelement .

Aby zasób menu został poprawnie scalony, biblioteka DLL zasobu musi być zgodna z konwencjami biblioteki DLL satelity. Musi mieć nazwę <assemblyfile>UI.dll i umieścić ją w odpowiednim zlokalizowanym podkatalogu. Aby uzyskać dodatkowe informacje na temat menu i zasobów menu, zobacz Jak pakiety VSPackages Dodaj elementy interfejsu użytkownika i polecenia, menu i paski narzędzi.

Ta klasa atrybutów jest używana tylko do dostarczania danych dla zewnętrznych narzędzi rejestracji. Nie ma żadnego wpływu na zachowanie środowiska uruchomieniowego pakietu VSPackage.

Uwaga

Język C# automatycznie dołącza słowo "Attribute" do nazwy dowolnej klasy atrybutu. W kodzie języka C# należy odwołać się do tego atrybutu jako ProvideMenuResource.

Wpisy rejestru

  • Następujące wpisy rejestru są tworzone przez program ProvideMenuResourceAttribute:

  • <VSROOT>\Menus\

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

Przykłady

Implementacje klasy można znaleźć w zarządzanych przykładach ProvideMenuResourceAttribute . Standardowa lokalizacja dla tego i wszystkich innych atrybutów używanych do automatycznej rejestracji jest sąsiadująca z implementacją Package klasy w VsPkg.cs, VsPkg.vb lub VsPkg.cpp, w zależności od języka używanego w przykładzie.

Konstruktory

ProvideMenuResourceAttribute(Int16, Int32)

Ten konstruktor tworzy nowy obiekt ProvideMenuResourceAttribute o podanym identyfikatorze zasobu i numerze wersji.

ProvideMenuResourceAttribute(String, Int32)

Inicjuje nowe wystąpienie ProvideMenuResourceAttribute z określonym identyfikatorem zasobu i wersją.

Właściwości

IconMappingFilename

Ścieżka do pliku CSV, który mapuje identyfikatory ikon zdefiniowanych w zasobie menu na karty obrazów. Ścieżka jest ścieżką względną niejawnie rooted w $PackageFolder$, lub ścieżka bezwzględna jawnie rooted w katalogu zdefiniowanym przez zmienną środowiskową (np. "%UserProfile%\dir1\dir2\MyMappingFile.csv").

Format pliku CSV to:

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

Właściwość ResourceID zwraca wartość identyfikatora zasobu ustawionego w konstruktorze.

TypeId

Zastąp właściwość TypeID, aby umożliwić klasom pochodnym RegistrationAttribute pracować z atrybutem System.ComponentModel.TypeDescriptor.GetAttributes(...). Atrybut pochodzący z tego atrybutu będzie musiał zastąpić tę właściwość tylko wtedy, gdy potrzebuje lepszej kontroli nad wystąpieniami, które można zastosować do klasy.

(Odziedziczone po RegistrationAttribute)
Version

Zwraca numer wersji zasobu menu.

Metody

GetPackageRegKeyPath(Guid)

Pobiera ścieżkę rejestru (względem katalogu głównego rejestru aplikacji) pakietu VSPackage.

(Odziedziczone po RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Zawiera informacje o rejestracji pakietu VSPackage, gdy jest wywoływane przez zewnętrzne narzędzie rejestracji, takie jak regpkg.exe. Aby uzyskać więcej informacji, zobacz Rejestrowanie pakietów VSPackages.

Unregister(RegistrationAttribute+RegistrationContext)

Wywoływana w celu wyrejestrowania tego atrybutu z danym kontekstem.

Dotyczy