Поделиться через


ProvideMenuResourceAttribute Класс

Определение

Предоставляет регистрационные сведения о ресурсах меню, используемых в VSPackage. Этот класс не наследуется.

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
Наследование
ProvideMenuResourceAttribute
Атрибуты

Комментарии

Когда следует звонить

Примените к классу ProvideMenuResourceAttribute или классу Microsoft.VisualStudio.Package, который реализует IVsPackage , содержит ли класс один или несколько ресурсов меню. Зарегистрируйте ресурсы с помощью regpkg.exe или аналогичного средства регистрации. Дополнительные сведения см. в разделе Регистрация пакетов VSPackage.

Основное использование

Класс ProvideMenuResourceAttribute определяет идентификатор ресурса и номер версии ресурса меню, позволяя средству регистрации, такому как regpkg.exe, зарегистрировать ресурс меню в Visual Studio. Когда Visual Studio сталкивается с VSPackage с зарегистрированным ресурсом меню, она получает сведения о ресурсе из VSPackage или управляемой или вспомогательной библиотеки DLL пакета и объединяет меню в систему меню Visual Studio. Чтобы использовать ProvideMenuResourceAttribute, поместите его в класс, производный Packageот класса или класса, реализующего IVsPackage.

Чтобы ресурс меню правильно объединился, библиотека DLL ресурса должна соответствовать соглашениям о вспомогательных библиотеках DLL. Он должен называться <assemblyfile>UI.dll и помещаться в соответствующий локализованный подкаталог. Дополнительные сведения о меню и ресурсах меню см. в статье How VSPackages Add User Interface Elements and Commands, Menus, and Toolbars.

Этот класс атрибута используется только для предоставления данных для внешних средств регистрации. Это не влияет на поведение пакета VSPackage во время выполнения.

Примечание

C# автоматически добавляет слово "Attribute" к имени любого класса атрибутов. В коде C# указать этот атрибут как ProvideMenuResource.

Записи реестра

  • Следующие записи реестра создаются :ProvideMenuResourceAttribute

  • <VSROOT>\Menus\

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

Примеры

Реализации класса можно найти в ProvideMenuResourceAttribute управляемых примерах. Стандартное расположение для этого и всех других атрибутов, используемых для автоматической регистрации, смежется с реализацией Package класса в VsPkg.cs, VsPkg.vb или VsPkg.cpp в зависимости от языка, используемого в примере.

Конструкторы

ProvideMenuResourceAttribute(Int16, Int32)

Этот конструктор создает новый объект ProvideMenuResourceAttribute с заданным идентификатором ресурса и номером версии.

ProvideMenuResourceAttribute(String, Int32)

Инициализирует новый экземпляр ProvideMenuResourceAttribute с указанным идентификатором и версией ресурса.

Свойства

IconMappingFilename

Путь к CSV-файлу, который сопоставляет идентификаторы значков, определенные в ресурсе меню, с моникерами изображений. Путь является относительным путем, неявно корнем $PackageFolder$, или абсолютным путем, явно корневым в каталоге, определенном переменной среды (например, "%UserProfile%\dir1\dir2\MyMappingFile.csv").

Формат CSV-файла:

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 возвращает значение идентификатора ресурса, заданного в конструкторе.

TypeId

Переопределите свойство TypeID, чтобы разрешить производным классам RegistrationAttribute работать с System.ComponentModel.TypeDescriptor.GetAttributes(...). Атрибут, производный от этого, должен переопределять это свойство только в том случае, если ему требуется более эффективное управление экземплярами, которые можно применить к классу.

(Унаследовано от RegistrationAttribute)
Version

Возвращает номер версии ресурса меню.

Методы

GetPackageRegKeyPath(Guid)

Получает путь в реестре (относительно корня реестра приложения) VSPackage.

(Унаследовано от RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Предоставляет сведения о регистрации VSPackage при вызове внешним средством регистрации, например regpkg.exe. Дополнительные сведения см. в разделе Регистрация пакетов VSPackage.

Unregister(RegistrationAttribute+RegistrationContext)

Вызывается для отмены регистрации атрибута с данным контекстом.

Применяется к