Поделиться через


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

Средство экспорта метаданных среды выполнения Windows (Winmdexp.exe) преобразует модуль .NET Framework в файл, содержащий метаданные среды выполнения Windows. Хотя сборки .NET Framework и файлы метаданных среды выполнения Windows используют тот же физический формат, существуют различия в содержимом таблиц метаданных, что означает, что сборки .NET Framework не используются автоматически как компоненты среды выполнения Windows. Процесс включения модуля .NET Framework в компонент среды выполнения Windows называется экспортом. В .NET Framework 4.5 и 4.5.1 результирующий файл метаданных Windows (WINMD) содержит как метаданные, так и реализацию.

При использовании шаблона компонента среды выполнения Windows , расположенного в Магазине Windows для C# и Visual Basic в Visual Studio 2013 или Visual Studio 2012, целевой объект компилятора — winmdobj-файл, а последующие вызовы шага сборки Winmdexp.exe для экспорта winmdobj-файла в WINMD-файл. Это рекомендуемый способ создания компонента среды выполнения Windows. Используйте Winmdexp.exe непосредственно, если требуется больше контроля над процессом сборки, чем предоставляет Visual Studio.

Эта программа автоматически устанавливается вместе с Visual Studio. Для запуска этого средства используйте Командную строку разработчика или PowerShell для разработчиков в Visual Studio.

В командной строке введите следующее:

Синтаксис

winmdexp [options] winmdmodule

Параметры

Аргумент или параметр Описание
winmdmodule Указывает модуль (.winmdobj), который нужно экспортировать. Допускается только один модуль. Чтобы создать этот модуль, используйте /target параметр компилятора с целевым winmdobj объектом. См. статью -target:winmdobj (параметры компилятора C#) или -target (Visual Basic).
/docfile: docfile

/d: docfile
Указывает выходной XML-файл документации, который будет создаваться Winmdexp.exe. В .NET Framework 4.5 выходной файл по сути совпадает с входным XML-файлом документации.
/moduledoc: docfile

/md: docfile
Указывает имя XML-файла документации, с помощью который компилятор создал winmdmodule.
/modulepdb: symbolfile

/mp: symbolfile
Указывает имя файла базы данных программы (PDB), содержащего символы.winmdmodule
/nowarn: warning Подавляет указанный номер предупреждения. Для предупреждения укажите только числовую часть кода ошибки без начальных нулей.
/out: file

/o: file
Указывает имя выходного файла метаданных Windows (WINMD).
/pdb: symbolfile

/p: symbolfile
Указывает имя файла базы данных выходной программы (PDB), который будет содержать символы экспортированного файла метаданных Windows (WINMD).
/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. Дополнительные сведения см. в разделе "Объявление типов в компонентах среды выполнения Windows" статьи "Создание компонентов среды выполнения Windows в C# и Visual Basic".

При написании приложения Магазина Windows 8.x или компонента среды выполнения Windows с помощью C# или Visual Basic платформа .NET Framework обеспечивает поддержку программирования с помощью среды выполнения Windows более естественным образом. В этой статье рассматривается поддержка .NET Framework для приложений Магазина Windows и среды выполнения Windows. В процессе некоторые часто используемые типы среды выполнения Windows сопоставляются с типами .NET Framework. Winmdexp.exe отменяет этот процесс и создает поверхность API, использующую соответствующие типы среды выполнения Windows. Например, типы, созданные из IList<T> сопоставления интерфейса с типами, созданными из интерфейса среды выполнения IVector<T> Windows.

См. также