다음을 통해 공유


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하려면 를 구현하는 Package파생 클래스 또는 클래스에 배치합니다 IVsPackage.

메뉴 리소스가 올바르게 병합되도록 하려면 리소스 DLL이 위성 DLL 규칙을 따라야 합니다. 이름이 assemblyfile>UI.dll 적절하고 지역화된 하위 디렉터리에 배치되어야 <합니다. 메뉴 및 메뉴 리소스에 대한 자세한 내용은 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 새 instance 초기화합니다.

속성

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

RegistrationAttribute 파생 클래스가 System.ComponentModel.TypeDescriptor.GetAttributes(...)와 함께 작동하도록 하려면 TypeID 속성을 재정의합니다. 이 속성에서 파생된 특성은 클래스에 적용할 수 있는 인스턴스에 대한 더 나은 제어가 필요한 경우에만 이 속성을 재정의해야 합니다.

(다음에서 상속됨 RegistrationAttribute)
Version

메뉴 리소스의 버전 번호를 반환합니다.

메서드

GetPackageRegKeyPath(Guid)

VSPackage의 레지스트리 경로(애플리케이션의 레지스트리 루트를 기준으로)를 가져옵니다.

(다음에서 상속됨 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

regpkg.exe 같은 외부 등록 도구에서 호출할 때 VSPackage에 대한 등록 정보를 제공합니다. 자세한 내용은 VSPackage 등록을 참조하세요.

Unregister(RegistrationAttribute+RegistrationContext)

지정된 컨텍스트에서 이 특성의 등록을 취소하기 위해 호출됩니다.

적용 대상