Winmdexp.exe (средство экспорта метаданных среды выполнения Windows)Winmdexp.exe (Windows Runtime Metadata Export Tool)

Программа экспорта метаданных среды выполнения Windows (Winmdexp.exe) преобразует модуль .NET Framework в файл, содержащий метаданные среды выполнения Windows.The Windows Runtime Metadata Export Tool (Winmdexp.exe) transforms a .NET Framework module into a file that contains Windows Runtime metadata. Несмотря на то что сборки .NET Framework и файлы метаданных среды выполнения Windows используют один и тот же физический формат, существуют различия в содержимом таблиц метаданных, то есть сборки .NET Framework невозможно без преобразования использовать как компоненты среды выполнения Windows.Although .NET Framework assemblies and Windows Runtime metadata files use the same physical format, there are differences in the content of the metadata tables, which means that .NET Framework assemblies are not automatically usable as Windows Runtime Components. Процесс преобразования модуля .NET Framework в компонент среды выполнения Windows называется экспортированием.The process of turning a .NET Framework module into a Windows Runtime component is referred to as exporting. В .NET Framework 4.5 и .NET Framework 4.5.1 конечный файл метаданных Windows (WINMD) содержит и метаданные, и реализацию.In the .NET Framework 4.5 and .NET Framework 4.5.1, the resulting Windows metadata (.winmd) file contains both metadata and implementation.

При использовании шаблона Компонент среды выполнения Windows из Microsoft Store для C# и Visual Basic в Visual Studio 2013 или Visual Studio 2012 компилятор создает WINMDOBJ-файл, а на последующих этапах сборки вызывается программа Winmdexp.exe, чтобы экспортировать WINMDOBJ-файл в WINMD-файл.When you use the Windows Runtime Component template, which is located under Windows Store for C# and Visual Basic in Visual Studio 2013 or Visual Studio 2012, the compiler target is a .winmdobj file, and a subsequent build step calls Winmdexp.exe to export the .winmdobj file to a .winmd file. Это рекомендуемый способ создания компонента среды выполнения Windows.This is the recommended way to build a Windows Runtime component. Если над процессом построения требуется больший контроль по сравнению со средой Visual Studio, программу Winmdexp.exe следует вызывать напрямую.Use Winmdexp.exe directly when you want more control over the build process than Visual Studio provides.

Эта программа автоматически устанавливается вместе с Visual Studio.This tool is automatically installed with Visual Studio. Чтобы применить этот инструмент, воспользуйтесь командной строкой разработчика для Visual Studio (или командной строкой Visual Studio в Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Дополнительные сведения см. в разделе Командные строки.For more information, see Command Prompts.

В командной строке введите следующее.At the command prompt, type the following:

СинтаксисSyntax

winmdexp [options] winmdmodule  

ПараметрыParameters

Аргумент или параметрArgument or option ОПИСАНИЕDescription
winmdmodule Задает экспортируемый модуль (WINMDOBJ).Specifies the module (.winmdobj) to be exported. Допускается только один модуль.Only one module is allowed. Чтобы создать этот модуль, следует использовать параметр компилятора /target с целевым объектом winmdobj.To create this module, use the /target compiler option with the winmdobj target. См. статью /target:winmdobj (параметры компилятора C#) или /target (Visual Basic).See /target:winmdobj (C# Compiler Options) or /target (Visual Basic).
/docfile: docfile/docfile: docfile

/d: docfile/d: docfile
Задает выходной файл документации XML, который создаст программа Winmdexp.exe.Specifies the output XML documentation file that Winmdexp.exe will produce. В .NET Framework 4.5 выходной файл совпадает со входным файлом XML документации.In the .NET Framework 4.5, the output file is essentially the same as the input XML documentation file.
/moduledoc: docfile/moduledoc: docfile

/md: docfile/md: docfile
Задает имя файла документации XML, который компилятор создает с использованием winmdmodule.Specifies the name of the XML documentation file that the compiler produced with winmdmodule.
/modulepdb: symbolfile/modulepdb: symbolfile

/mp: symbolfile/mp: symbolfile
Задает имя файла базы данных программы (PDB), содержащего символы для winmdmodule.Specifies the name of the program database (PDB) file that contains symbols for winmdmodule.
/nowarn: warning/nowarn: warning Отключает указанный номер предупреждения.Suppresses the specified warning number. В качестве предупреждения следует указать только числовую часть кода ошибки без предшествующих нулей.For warning, supply only the numeric portion of the error code, without leading zeros.
/out: file/out: file

/o: file/o: file
Задает имя выходного файла метаданных Windows (WINMD).Specifies the name of the output Windows metadata (.winmd) file.
/pdb: symbolfile/pdb: symbolfile

/p: symbolfile/p: symbolfile
Задает имя выходного файла базы данных программы (PDB), в котором будут указаны символы для экспортированного файла метаданных Windows (WINMD).Specifies the name of the output program database (PDB) file that will contain the symbols for the exported Windows metadata (.winmd) file.
/reference: winmd/reference: winmd

/r: winmd/r: winmd
Задает файл метаданных (WINMD или сборку), на который необходимо ссылаться во время экспорта.Specifies a metadata file (.winmd or assembly) to reference during export. Если используются ссылочные сборки в \Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5 (\Program Files\... на 32-разрядных компьютерах), следует включить ссылки как на библиотеку System.Runtime.dll, так и на mscorlib.dll.If you use the reference assemblies in "\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5" ("\Program Files\..." on 32-bit computers), include references to both System.Runtime.dll and mscorlib.dll.
/utf8output Указывает, что выходные сообщения должны иметь кодировку UTF-8.Specifies that output messages should be in UTF-8 encoding.
/warnaserror+ Указывает, что все предупреждения должны рассматриваться как ошибки.Specifies that all warnings should be treated as errors.
@ responsefile@ responsefile Задает файл ответа (RSP), содержащий параметры (и при необходимости — winmdmodule).Specifies a response (.rsp) file that contains options (and optionally winmdmodule). Каждая строка в файле responsefile должна содержать один аргумент или параметр.Each line in responsefile should contain a single argument or option.

ПримечанияRemarks

Программа Winmdexp.exe не предназначена для преобразования произвольной сборки .NET Framework в WINMD-файл.Winmdexp.exe is not designed to convert an arbitrary .NET Framework assembly to a .winmd file. Для ее работы требуется модуль, который скомпилирован с параметром /target:winmdobj, и использование дополнительных ограничений.It requires a module that is compiled with the /target:winmdobj option, and additional restrictions apply. Наиболее важным ограничением является то, что все типы, которые отображаются в рабочей области API сборки, должны быть типами среды выполнения Windows.The most important of these restrictions is that all types that are exposed in the API surface of the assembly must be Windows Runtime types. Дополнительные сведения см. в разделе "Объявление типов в компонентах среды выполнения Windows" статьи Создание компонентов среды выполнения Windows на языках C# и Visual Basic в Центре разработки для Windows.For more information, see the "Declaring types in Windows Runtime Components" section of the article Creating Windows Runtime Components in C# and Visual Basic in the Windows Dev Center.

Платформа .NET Framework упрощает программирование в среде выполнения Windows и делает его более естественным при создании приложений Магазин Windows 8.xWindows 8.x Store или компонентов среды выполнения Windows на C# или Visual Basic.When you write a Магазин Windows 8.xWindows 8.x Store app or a Windows Runtime component with C# or Visual Basic, the .NET Framework provides support to make programming with the Windows Runtime more natural. Это рассматривается в статье Поддержка платформы .NET Framework для приложений Магазина Windows и среды выполнения Windows.This is discussed in the article .NET Framework Support for Windows Store Apps and Windows Runtime. Во время разработки некоторые часто используемые типы среды выполнения Windows сопоставляются с типами .NET Framework.In the process, some commonly used Windows Runtime types are mapped to .NET Framework types. Программа Winmdexp.exe позволяет упростить такой процесс и создает рабочую область API, в которой используются соответствующие типы среды выполнения Windows.Winmdexp.exe reverses this process and produces an API surface that uses the corresponding Windows Runtime types. Например, типы, полученные из интерфейса IList<T>, сопоставляются с типами, полученными из интерфейса Windows RuntimeIVector<T>.For example, types that are constructed from the IList<T> interface map to types that are constructed from the Windows RuntimeIVector<T>interface.

См. такжеSee also