Aracılığıyla paylaş


ProvideMenuResourceAttribute Sınıf

Tanım

VSPackage'da kullanılan menü kaynakları hakkında kayıt bilgileri sağlar. Bu sınıf devralınamaz.

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
Devralma
ProvideMenuResourceAttribute
Öznitelikler

Açıklamalar

Ne Zaman Aranacak?

ProvideMenuResourceAttribute sınıfı bir veya daha fazla menü kaynağı içeriyorsa uygulayan IVsPackage türetilmiş bir Microsoft.VisualStudio.Packagesınıfa veya sınıfa uygulayın. Kaynakları regpkg.exe veya benzer bir kayıt aracıyla kaydedin. Daha fazla bilgi için bkz. VSPackage'ları Kaydetme.

Temel Kullanım

sınıfı ProvideMenuResourceAttribute , menü kaynağının kaynak kimliğini ve sürüm numarasını tanımlar ve regpkg.exe gibi bir kayıt aracının menü kaynağını Visual Studio'ya kaydetmesine olanak sağlar. Visual Studio kayıtlı menü kaynağına sahip bir VSPackage ile karşılaştığında, VSPackage'dan veya paketin yönetilen veya uydu DLL'sinden kaynak bilgilerini alır ve menüyü Visual Studio menü sistemiyle birleştirir. kullanmak ProvideMenuResourceAttributeiçin, bunu uygulayan türetilmiş bir Packagesınıfa veya sınıfa IVsPackageyerleştirin.

Menü kaynağının doğru bir şekilde birleştirebilmesi için kaynak DLL'sinin uydu DLL kurallarına uyması gerekir. Assemblyfile>UI.dll olarak adlandırılmalı <ve uygun, yerelleştirilmiş bir alt dizine yerleştirilmelidir. Menüler ve menü kaynakları hakkında ek bilgi için bkz. VSPackage'lar Kullanıcı Arabirimi Öğeleri ve Komutları, Menüler ve Araç Çubukları Ekleme.

Bu öznitelik sınıfı yalnızca dış kayıt araçları için veri sağlamak için kullanılır. VSPackage'ın çalışma zamanı davranışı üzerinde herhangi bir etkisi yoktur.

Not

C# herhangi bir öznitelik sınıfının adına otomatik olarak "Öznitelik" sözcüğünü ekler. C# kodunda bu özniteliğe olarak ProvideMenuResourcebaşvurun.

Kayıt Defteri Girdileri

  • Aşağıdaki kayıt defteri girdileri tarafından ProvideMenuResourceAttributeoluşturulur:

  • <VSROOT>\Menus\

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

Örnekler

Sınıfının uygulamalarını ProvideMenuResourceAttribute yönetilen örneklerde bulabilirsiniz. Bunun standart konumu ve otomatik kayıt için kullanılan diğer tüm öznitelikler, örnekte kullanılan dile bağlı olarak sınıfın Package VsPkg.cs, VsPkg.vb veya VsPkg.cpp'da uygulanmasına bitişiktir.

Oluşturucular

ProvideMenuResourceAttribute(Int16, Int32)

Bu oluşturucu, verilen kaynak kimliği ve sürüm numarasıyla yeni bir ProvideMenuResourceAttribute nesnesi oluşturur.

ProvideMenuResourceAttribute(String, Int32)

Belirtilen kaynak kimliği ve sürümüyle yeni bir örneğini ProvideMenuResourceAttribute başlatır.

Özellikler

IconMappingFilename

Menü kaynağında tanımlanan simge tanımlayıcılarını görüntü adlarıyla eşleyen csv dosyasının yolu. Yol, örtük olarak $PackageFolder$ dizinine kök eklenmiş göreli bir yol veya bir ortam değişkeni tarafından tanımlanan dizinde açıkça köklenen mutlak bir yoldur (örneğin, "%UserProfile%\dir1\dir2\MyMappingFile.csv").

CSV dosyasının biçimi:

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

ResourceID özelliği, oluşturucuda ayarlanan kaynak kimliği değerini döndürür.

TypeId

RegistrationAttribute türetilmiş sınıflarının System.ComponentModel.TypeDescriptor.GetAttributes(...) ile çalışmasına izin vermek için TypeID özelliğini geçersiz kılın. Bu özellikten türetilen bir özniteliğin, yalnızca bir sınıfa uygulanabilecek örnekler üzerinde daha iyi bir denetime ihtiyacı varsa bu özelliği geçersiz kılması gerekir.

(Devralındığı yer: RegistrationAttribute)
Version

Menü kaynağının sürüm numarasını döndürür.

Yöntemler

GetPackageRegKeyPath(Guid)

VSPackage'ın kayıt defteri yolunu (uygulamanın kayıt defteri köküne göre) alır.

(Devralındığı yer: RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

regpkg.exe gibi bir dış kayıt aracı tarafından çağrıldığında vsPackage hakkında kayıt bilgileri sağlar. Daha fazla bilgi için bkz. VSPackage'ları Kaydetme.

Unregister(RegistrationAttribute+RegistrationContext)

Verilen bağlamla bu özniteliğin kaydını kaldırmak için çağrılır.

Şunlara uygulanır