共用方式為


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如果類別包含一或多個功能表資源,IVsPackage請將套用至Microsoft.VisualStudio.Package實作的衍生類別或類別。 使用 regpkg.exe 或類似的註冊工具來註冊資源。 如需詳細資訊,請參閱 註冊 VSPackages

基本使用方式

類別 ProvideMenuResourceAttribute 會定義功能表資源的資源標識碼和版本號碼,允許 regpkg.exe 等註冊工具向Visual Studio註冊功能表資源。 當 Visual Studio 遇到具有已註冊功能表資源的 VSPackage 時,它會從 VSPackage 或套件的 Managed 或附屬 DLL 擷取資源資訊,並將功能表合併至 Visual Studio 功能表系統。 若要使用 ProvideMenuResourceAttribute,請將它放在實作 IVsPackage的衍生類別或類別上Package

若要讓功能表資源正確合併,資源 DLL 必須遵循附屬 DLL 慣例。 它必須命名為 <assemblyfile>UI.dll,並放入適當的當地語系化子目錄中。 如需功能表和功能表資源的其他資訊,請參閱 VSPackages 如何新增使用者介面元素命令、功能表和工具列

這個屬性類別僅用於提供外部註冊工具的數據。 它不會影響 VSPackage 的運行時間行為。

注意

C# 會自動將 「Attribute」 一詞附加至任何屬性類別的名稱。 在 C# 程式代碼中,將此屬性 ProvideMenuResource稱為 。

登錄項目

  • 下列登錄專案是由 建立:ProvideMenuResourceAttribute

  • <VSROOT>\Menus\

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

範例

您可以在 Managed 範例中找到 類別的 ProvideMenuResourceAttribute 實作。 這個和用於自動註冊之所有其他屬性的標準位置,會與範例中使用的語言,相鄰 Package 於類別的實作VsPkg.cs、VsPkg.vb或VsPkg.cpp。

建構函式

ProvideMenuResourceAttribute(Int16, Int32)

此建構函式會建立具有指定資源標識碼和版本號碼的新 ProvideMenuResourceAttribute 物件。

ProvideMenuResourceAttribute(String, Int32)

使用指定的資源識別碼和版本,初始化 的新實例 ProvideMenuResourceAttribute

屬性

IconMappingFilename

CSV 檔案的路徑,會將功能表資源中定義的圖示標識碼對應至影像Monikers。 路徑是隱含根目錄在 $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。 如需詳細資訊,請參閱註冊 VSPackages。

Unregister(RegistrationAttribute+RegistrationContext)

呼叫以取消註冊這個具有指定內容的屬性。

適用於