Windows 런타임 메타데이터 내보내기 도구(Winmdexp.exe)는 .NET Framework 모듈을 Windows 런타임 메타데이터가 포함된 파일로 변환합니다. .NET Framework 어셈블리와 Windows 런타임 메타데이터 파일은 동일한 실제 형식을 사용하지만 메타데이터 테이블의 내용에는 차이가 있습니다. 즉, .NET Framework 어셈블리는 Windows 런타임 구성 요소로 자동으로 사용할 수 없습니다. .NET Framework 모듈을 Windows 런타임 구성 요소로 전환하는 프로세스를 내보내기라고 합니다. .NET Framework 4.5 및 4.5.1에서 결과 Windows 메타데이터(.winmd) 파일에는 메타데이터와 구현이 모두 포함됩니다.
Visual Studio 2013 또는 Visual Studio 2012의 C# 및 Visual Basic용 Windows 스토어 아래에 있는 Windows 런타임 구성 요소 템플릿을 사용하는 경우 컴파일러 대상은 .winmdobj 파일이며, 후속 빌드 단계에서는 .winmdobj 파일을 .winmd 파일로 내보내기 위해 Winmdexp.exe 호출합니다. Windows 런타임 구성 요소를 빌드하는 데 권장되는 방법입니다. Visual Studio에서 제공하는 것보다 빌드 프로세스를 더 많이 제어하려면 Winmdexp.exe 직접 사용합니다.
이 도구는 자동으로 Visual Studio와 함께 설치됩니다. 도구를 실행하려면 Visual Studio 개발자 명령 프롬프트 또는 Visual Studio 개발자 PowerShell을 사용합니다.
명령 프롬프트에 다음을 입력합니다.
문법
winmdexp [options] winmdmodule
매개 변수
| 인수 또는 옵션 | 설명 |
|---|---|
winmdmodule |
내보낼 모듈(.winmdobj)을 지정합니다. 하나의 모듈만 허용됩니다. 이 모듈을 만들려면 대상과 /target 함께 winmdobj 컴파일러 옵션을 사용합니다.
-target:winmdobj(C# 컴파일러 옵션) 또는 -target(Visual Basic)을 참조하세요. |
/docfile:
docfile
/d:
docfile
|
Winmdexp.exe 생성할 출력 XML 설명서 파일을 지정합니다. .NET Framework 4.5에서 출력 파일은 기본적으로 입력 XML 설명서 파일과 동일합니다. |
/moduledoc:
docfile
/md:
docfile
|
컴파일러에서 생성한 XML 문서 파일의 이름을 지정합니다 winmdmodule. |
/modulepdb:
symbolfile
/mp:
symbolfile
|
에 대한 winmdmodule기호를 포함하는 프로그램 데이터베이스(PDB) 파일의 이름을 지정합니다. |
/nowarn:
warning
|
지정된 경고 번호를 표시하지 않습니다. 경고의 경우 앞에 오는 0 없이 오류 코드의 숫자 부분만 제공합니다. |
/out:
file
/o:
file
|
출력 Windows 메타데이터(.winmd) 파일의 이름을 지정합니다. |
/pdb:
symbolfile
/p:
symbolfile
|
내보낸 Windows 메타데이터(.winmd) 파일의 기호를 포함할 출력 프로그램 데이터베이스(PDB) 파일의 이름을 지정합니다. |
/reference:
winmd
/r:
winmd
|
내보내는 동안 참조할 메타데이터 파일(.winmd 또는 어셈블리)을 지정합니다. "\Program Files (x86)\Reference Assemblies\Microsoft\Framework\에서 참조 어셈블리를 사용하는 경우 NETCore\v4.5"("\Program Files\..." 32비트 컴퓨터에서) System.Runtime.dll 및 mscorlib.dll모두에 대한 참조를 포함합니다. |
/utf8output |
출력 메시지가 UTF-8 인코딩으로 표시되도록 지정합니다. |
/warnaserror+ |
모든 경고를 오류로 처리되도록 지정합니다. |
@
responsefile
|
옵션(및 선택 사항)이 포함된 응답(.rsp) 파일을 지정합니다 winmdmodule. 각 줄에는 responsefile 단일 인수 또는 옵션이 포함되어야 합니다. |
비고
Winmdexp.exe 임의의 .NET Framework 어셈블리를 .winmd 파일로 변환하도록 설계되지 않았습니다. 이 옵션을 사용하여 컴파일되는 /target:winmdobj 모듈이 필요하며 추가 제한 사항이 적용됩니다. 이러한 제한 사항 중 가장 중요한 것은 어셈블리의 API 화면에 노출되는 모든 형식이 Windows 런타임 형식이어야 한다는 것입니다. 자세한 내용은 C# 및 Visual Basic에서 Windows 런타임 구성 요소 만들기 문서의 "Windows 런타임 구성 요소에서 형식 선언" 섹션을 참조하세요.
C# 또는 Visual Basic을 사용하여 Windows 8.x 스토어 앱 또는 Windows 런타임 구성 요소를 작성하는 경우 .NET Framework는 Windows 런타임을 사용하는 프로그래밍을 보다 자연스럽게 만들 수 있도록 지원합니다. Windows 스토어 앱 및 Windows 런타임에 대한 .NET Framework 지원 문서에서 설명합니다. 이 과정에서 일반적으로 사용되는 일부 Windows 런타임 형식은 .NET Framework 형식에 매핑됩니다. Winmdexp.exe 이 프로세스를 되돌리고 해당 Windows 런타임 형식을 사용하는 API 표면을 생성합니다. 예를 들어 인터페이스 맵에서 IList<T> 생성되는 형식은 Windows 런타임 IVector<T> 인터페이스에서 생성된 형식으로 구성됩니다.
참고하십시오
.NET