다음을 통해 공유


Manifest to Code

Manifest to Code 도구는 Visual Studio 이미지 서비스에 대한 .imagemanifest 파일을 사용하고 Visual Studio 확장에 대한 C++, C#, VB 또는 .vsct 파일의 이미지 매니페스트 값을 참조하기 위한 래퍼 파일을 생성하는 콘솔 애플리케이션입니다. 이 도구는 Visual Studio 이미지 서비스에서 직접 이미지를 요청하거나 코드가 자체 UI 및 렌더링을 처리하지 않는 경우 API를 통해 매니페스트 값을 전달하는 데 사용할 수 있는 래퍼 파일을 생성합니다.

이 도구를 사용 하는 방법

Syntax

ManifestToCode /manifest:<이미지 매니페스트 파일> /language:<코드 언어><선택 사항 Args>

인수

스위치 이름 참고 필수 또는 선택
/manifest 코드 래퍼를 만들거나 업데이트하는 데 사용할 이미지 매니페스트의 경로입니다. Required
/language 코드 래퍼를 생성할 언어입니다.

유효한 값: CPP, C++, CS, CSharp, C#, VB 또는 VSCT 값은 대/소문자를 구분하지 않습니다.

VSCT 언어 옵션의 경우 /monikerClass, /classAccess 및 /namespace 옵션은 무시됩니다.
Required
/imageIdClass imageIdClass의 이름 및 도구에서 만든 연결된 파일입니다. C++ 언어 옵션의 경우 .h 파일만 생성됩니다.

기본값: <매니페스트 경로>\MyImageIds.< Lang Ext>
선택 사항
/monikerClass 도구에서 만든 monikerClass 및 연결된 파일의 이름입니다. C++ 언어 옵션의 경우 .h 파일만 생성됩니다. VSCT 언어에 대해서는 무시됩니다.

기본값: <매니페스트 경로>\MyMonikers.< Lang Ext>
선택 사항
/classAccess imageIdClass 및 monikerClass에 대한 액세스 한정자입니다. 액세스 한정자가 지정된 언어에 대해 유효한지 확인합니다. VSCT 언어 옵션에 대해서는 무시됩니다.

기본값: 퍼블릭
선택 사항
/namespace 코드 래퍼에 정의된 네임스페이스입니다. VSCT 언어 옵션에 대해서는 무시됩니다. ‘.’ 또는 ‘::’은 선택한 언어 옵션에 관계없이 유효한 네임스페이스 구분 기호입니다.

기본값: MyImages
선택 사항
/noLogo 이 플래그를 설정하면 제품 및 저작권 정보가 인쇄되지 않습니다. 선택 사항
/? 도움말 정보를 출력합니다. 선택 사항
/help 도움말 정보를 출력합니다. 선택 사항

예제

  • ManifestToCode /manifest:D:\MyManifest.imagemanifest /language:CSharp

  • ManifestToCode /manifest:D:\MyManifest.imagemanifest /language:C++ /namespace:My::Namespace /imageIdClass:MyImageIds /monikerClass:MyMonikers /classAccess:friend

  • ManifestToCode /manifest:D:\MyManifest.imagemanifest /language:VSCT /imageIdClass:MyImageIds

주의

  • 리소스 도구의 매니페스트에서 생성된 이미지 매니페스트와 함께 이 도구를 사용하는 것이 좋습니다.

  • 이 도구는 기호 항목만 확인하여 코드 래퍼를 생성합니다. 이미지 매니페스트에 기호가 없으면 생성된 코드 래퍼가 비어 있습니다. 이미지 매니페스트에 기호를 사용하지 않는 이미지 또는 이미지 집합이 있는 경우 코드 래퍼에서 제외됩니다.

샘플 출력

C# 래퍼

C#용 간단한 이미지 ID 및 이미지 모니커 클래스 쌍은 아래 코드와 유사합니다.

//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

using System;

namespace MyImages
{
    public static class MyImageIds
    {
        public static readonly Guid AssetsGuid = new Guid("{442d8739-efde-46a4-8f29-e3a1e5e7f8b4}");

        public const int MyImage1 = 0;
        public const int MyImage2 = 1;
    }
}
//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

using Microsoft.VisualStudio.Imaging.Interop;

namespace MyImages
{
    public static class MyMonikers
    {
        public static ImageMoniker MyImage1 { get { return new ImageMoniker { Guid = MyImageIds.AssetsGuid, Id = MyImageIds.MyImage1 }; } }
        public static ImageMoniker MyImage2 { get { return new ImageMoniker { Guid = MyImageIds.AssetsGuid, Id = MyImageIds.MyImage2 }; } }
    }
}

C++ 래퍼

C++용 간단한 이미지 ID 및 이미지 모니커 클래스 쌍은 아래 코드와 유사합니다.

//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

#pragma once

#include <guiddef.h>

namespace MyImages {

class MyImageIds {
public:

    static const GUID AssetsGuid;

    static const int MyImage1 = 0;
    static const int MyImage2 = 1;

};

__declspec(selectany) const GUID MyImageIds::AssetsGuid = {0x442d8739,0xefde,0x46a4,{0x8f,0x29,0xe3,0xa1,0xe5,0xe7,0xf8,0xb4}};

}
//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

#pragma once

#include "ImageParameters140.h"
#include "MyImageIds.h"

namespace MyImages {

class MyMonikers {
public:

    static const ImageMoniker MyImage1;
    static const ImageMoniker MyImage2;

};

__declspec(selectany) const ImageMoniker MyMonikers::MyImage1 = { MyImageIds::AssetsGuid, MyImageIds::MyImage1 };
__declspec(selectany) const ImageMoniker MyMonikers::MyImage2 = { MyImageIds::AssetsGuid, MyImageIds::MyImage2 };

}

Visual Basic 래퍼

Visual Basic에 대한 간단한 이미지 ID 및 이미지 모니커 클래스 쌍은 아래 코드와 유사합니다.

' -----------------------------------------------------------------------------
'  <auto-generated>
'      This code was generated by the ManifestToCode tool.
'      Tool Version: 14.0.15198
'  </auto-generated>
' -----------------------------------------------------------------------------

Imports System

Namespace MyImages

    Public Module MyImageIds

        Public Shared ReadOnly AssetsGuid As Guid = New Guid("{442d8739-efde-46a4-8f29-e3a1e5e7f8b4}")

        Public Const MyImage1 As Integer = 0
        Public Const MyImage2 As Integer = 1

    End Module

End Namespace
' -----------------------------------------------------------------------------
'  <auto-generated>
'      This code was generated by the ManifestToCode tool.
'      Tool Version: 14.0.15198
'  </auto-generated>
' -----------------------------------------------------------------------------

Imports Microsoft.VisualStudio.Imaging.Interop

Namespace MyImages

    Public Module MyMonikers

        Public Readonly Property MyImage1
            Get
                Return New ImageMoniker With {.Guid = MyImageIds.AssetsGuid, .Id = MyImageIds.MyImage1}
            End Get
        End Property

        Public Readonly Property MyImage2
            Get
                Return New ImageMoniker With {.Guid = MyImageIds.AssetsGuid, .Id = MyImageIds.MyImage2}
            End Get
        End Property

    End Module

End Namespace

VSCT 래퍼

.vsct 파일에 대한 이미지 ID 집합은 다음과 유사합니다.

<?xml version='1.0' encoding='utf-8'?>
<!--
- [auto-generated]
     This code was generated by the ManifestToCode tool.
     Tool Version: 14.0.15198
- [/auto-generated]
-->
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable">
  <Symbols>
    <GuidSymbol name="AssetsGuid" value="{442d8739-efde-46a4-8f29-e3a1e5e7f8b4}">
      <IDSymbol name="MyImage1" value="0" />
      <IDSymbol name="MyImage2" value="1" />
    </GuidSymbol>
  </Symbols>
</CommandTable>