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 定义菜单资源的资源 ID 和版本号,允许注册工具(如 regpkg.exe)向 Visual Studio 注册菜单资源。 当 Visual Studio 遇到具有已注册菜单资源的 VSPackage 时,它会从 VSPackage 或包的托管或附属 DLL 中检索资源信息,并将菜单合并到 Visual Studio 菜单系统中。 若要使用 ProvideMenuResourceAttribute,请将其放置在实现 IVsPackage的 派生类或类上Package

若要正确合并菜单资源,资源 DLL 必须遵循附属 DLL 约定。 它必须UI.dll 命名为 <assemblyfile> ,并放入相应的本地化子目录中。 有关菜单和菜单资源的其他信息,请参阅 VSPackages 如何添加用户界面元素命令、菜单和工具栏

此属性类仅用于为外部注册工具提供数据。 它对 VSPackage 的运行时行为没有任何影响。

注意

C# 自动将单词“Attribute”追加到任何属性类的名称。 在 C# 代码中,将此属性称为 ProvideMenuResource

注册表项

  • 以下注册表项由 ProvideMenuResourceAttribute创建:

  • <VSROOT>\Menus\

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

示例

可以在托管示例中找到 类的实现 ProvideMenuResourceAttribute 。 此属性和用于自动注册的所有其他属性的标准位置与 VsPkg.cs、VsPkg.vb 或 VsPkg.cpp 中的 类的实现 Package 相邻,具体取决于示例中使用的语言。

构造函数

ProvideMenuResourceAttribute(Int16, Int32)

此构造函数使用给定的资源 ID 和版本号创建新的 ProvideMenuResourceAttribute 对象。

ProvideMenuResourceAttribute(String, Int32)

使用指定的资源 ID 和版本初始化 的新实例 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 属性返回构造函数中设置的资源 ID 的值。

TypeId

重写 TypeID 属性,以便让 RegistrationAttribute 派生类与 System.ComponentModel.TypeDescriptor.GetAttributes 一起使用 (...) 。仅当派生自此属性的属性需要对可应用于类的实例使用更好的控件时,它才必须重写此属性。

(继承自 RegistrationAttribute)
Version

返回菜单资源的版本号。

方法

GetPackageRegKeyPath(Guid)

获取相对于 VSPackage 的应用程序) 注册表根目录 (注册表路径。

(继承自 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

当外部注册工具(如 regpkg.exe)调用时,提供有关 VSPackage 的注册信息。 有关详细信息,请参阅注册 VSPackage。

Unregister(RegistrationAttribute+RegistrationContext)

调用以便向给定的上下文撤消注册此属性。

适用于