ProvideMenuResourceAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 Package
lub klasie, która implementuje IVsPackage
element .
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:
|
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. |