Winmdexp.exe (Herramienta de exportación de metadatos de Windows Runtime)Winmdexp.exe (Windows Runtime Metadata Export Tool)

La Herramienta de exportación de metadatos de Windows en tiempo de ejecuciónWindows Runtime (Winmdexp.exe) transforma un módulo de .NET Framework en un archivo que contiene los metadatos de Windows en tiempo de ejecuciónWindows Runtime.The Windows en tiempo de ejecuciónWindows Runtime Metadata Export Tool (Winmdexp.exe) transforms a .NET Framework module into a file that contains Windows en tiempo de ejecuciónWindows Runtime metadata. Aunque los ensamblados de .NET Framework y los archivos de metadatos de Windows en tiempo de ejecuciónWindows Runtime utilizan el mismo formato físico, existen diferencias en el contenido de las tablas de metadatos, lo que significa que los ensamblados de .NET Framework no se pueden utilizar de forma automática como componentes de Windows en tiempo de ejecuciónWindows Runtime.Although .NET Framework assemblies and Windows en tiempo de ejecuciónWindows 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 en tiempo de ejecuciónWindows Runtime Components. El proceso de convertir un módulo de .NET Framework en un componente de Windows en tiempo de ejecuciónWindows Runtime se denomina exportación.The process of turning a .NET Framework module into a Windows en tiempo de ejecuciónWindows Runtime component is referred to as exporting. En .NET Framework 4.5.NET Framework 4.5 y .NET Framework 4.5.1.NET Framework 4.5.1, el archivo de metadatos de Windows resultante (.winmd) contiene metadatos y la implementación.In the .NET Framework 4.5.NET Framework 4.5 and .NET Framework 4.5.1.NET Framework 4.5.1, the resulting Windows metadata (.winmd) file contains both metadata and implementation.

Cuando se utiliza la plantilla Windows en tiempo de ejecuciónWindows Runtime Component, que se encuentra en la Tienda Windows para C# y Visual Basic en Visual Studio 2013 o Visual Studio 2012, el destino del compilador es un archivo .winmdobj, y en un paso de compilación subsiguiente llama a Winmdexp.exe para exportar el archivo .winmdobj a un archivo .winmd.When you use the Windows en tiempo de ejecuciónWindows 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. Esta es la manera recomendada de crear un componente de Windows en tiempo de ejecuciónWindows Runtime.This is the recommended way to build a Windows en tiempo de ejecuciónWindows Runtime component. Utilice Winmdexp.exe directamente si desea tener más control sobre el proceso de compilación que proporciona Visual Studio.Use Winmdexp.exe directly when you want more control over the build process than Visual Studio provides.

Esta herramienta se instala automáticamente con Visual Studio.This tool is automatically installed with Visual Studio. Para ejecutar la herramienta, use Símbolo del sistema para desarrolladores de Visual Studio (o Símbolo del sistema de Visual Studio en Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Para más información, consulte Símbolos del sistema.For more information, see Command Prompts.

En el símbolo del sistema, escriba lo siguiente:At the command prompt, type the following:

SintaxisSyntax

winmdexp [options] winmdmodule  

ParámetrosParameters

Argumento u opciónArgument or option DescripciónDescription
winmdmodule Especifica el módulo (.winmdobj) que se va a exportar.Specifies the module (.winmdobj) to be exported. Solo se permite un módulo.Only one module is allowed. Para crear este módulo, utilice la opción del compilador /target con el destino de winmdobj.To create this module, use the /target compiler option with the winmdobj target. Vea /target:winmdobj (Opciones del compilador de C#) o /target (Visual Basic).See /target:winmdobj (C# Compiler Options) or /target (Visual Basic).
/docfile: docfile/docfile: docfile

/d: docfile/d: docfile
Especifica el archivo de documentación XML de salida que Winmdexp.exe va a generar.Specifies the output XML documentation file that Winmdexp.exe will produce. En .NET Framework 4.5.NET Framework 4.5, el archivo de salida es básicamente igual que el archivo de documentación XML de entrada.In the .NET Framework 4.5.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
Especifica el nombre del archivo de documentación XML que el compilador generó con winmdmodule.Specifies the name of the XML documentation file that the compiler produced with winmdmodule.
/modulepdb: symbolfile/modulepdb: symbolfile

/mp: symbolfile/mp: symbolfile
Especifica el nombre del archivo de base de datos de programa (PDB) que contiene los símbolos para winmdmodule.Specifies the name of the program database (PDB) file that contains symbols for winmdmodule.
/nowarn: warning/nowarn: warning Suprime el número de advertencias especificadas.Suppresses the specified warning number. Para advertencia, proporcione solo la parte numérica del código de error, sin ceros iniciales.For warning, supply only the numeric portion of the error code, without leading zeros.
/out: file/out: file

/o: file/o: file
Especifica el nombre del archivo de metadatos de Windows de salida (.winmd).Specifies the name of the output Windows metadata (.winmd) file.
/pdb: symbolfile/pdb: symbolfile

/p: symbolfile/p: symbolfile
Especifica el nombre del archivo de base de datos de programa (PDB) de salida que contendrá los símbolos del archivo de metadatos de Windows (.winmd) exportado.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
Especifica un archivo de metadatos (.winmd o ensamblado) al que hacer referencia durante la exportación.Specifies a metadata file (.winmd or assembly) to reference during export. Si utiliza los ensamblados de referencia de "\Archivos de programa (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5" ("\Archivos de programa\..." en equipos de 32 bits), incluya las referencias a System.Runtime.dll y a 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 Especifica que los mensajes de salida deben tener la codificación UTF-8.Specifies that output messages should be in UTF-8 encoding.
/warnaserror+ Especifica que todas las advertencias se deben tratar como errores.Specifies that all warnings should be treated as errors.
@ responsefile@ responsefile Especifica un archivo de respuesta (.rsp) que contiene opciones (y opcionalmente winmdmodule).Specifies a response (.rsp) file that contains options (and optionally winmdmodule). Cada línea de responsefile debe contener un solo argumento u opción.Each line in responsefile should contain a single argument or option.

ComentariosRemarks

Winmdexp.exe no está diseñado para convertir un ensamblado de .NET Framework. arbitrario en un archivo .winmd.Winmdexp.exe is not designed to convert an arbitrary .NET Framework assembly to a .winmd file. Requiere un módulo que se compila con la opción /target:winmdobj, y se aplican restricciones adicionales.It requires a module that is compiled with the /target:winmdobj option, and additional restrictions apply. La restricción más importante consiste en que todos los tipos que aparecen en la superficie de la API del ensamblado deben ser tipos de Windows en tiempo de ejecuciónWindows Runtime.The most important of these restrictions is that all types that are exposed in the API surface of the assembly must be Windows en tiempo de ejecuciónWindows Runtime types. Para más información, consulte la sección "Declarar tipos en componentes de Windows en tiempo de ejecución" del artículo Crear componentes de Windows en tiempo de ejecución en C# y Visual Basic en el Centro de desarrollo de 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.

Al escribir una aplicación de Tienda Windows 8.xWindows 8.x Store o un componente de Windows en tiempo de ejecuciónWindows Runtime con C# o Visual Basic, .NET Framework ofrece compatibilidad para que la programación con Windows en tiempo de ejecuciónWindows Runtime resulte un proceso más natural.When you write a Tienda Windows 8.xWindows 8.x Store app or a Windows en tiempo de ejecuciónWindows Runtime component with C# or Visual Basic, the .NET Framework provides support to make programming with the Windows en tiempo de ejecuciónWindows Runtime more natural. Todo esto se analiza en el artículo Compatibilidad de .NET Framework con las aplicaciones de la Tienda Windows y Windows en tiempo de ejecución.This is discussed in the article .NET Framework Support for Windows Store Apps and Windows Runtime. En dicho proceso, se asignan a algunos tipos de uso general de Windows en tiempo de ejecuciónWindows Runtime a tipos de .NET Framework.In the process, some commonly used Windows en tiempo de ejecuciónWindows Runtime types are mapped to .NET Framework types. Winmdexp.exe invierte este proceso y genera una superficie de API que utiliza los tipos correspondientes de Windows en tiempo de ejecuciónWindows Runtime.Winmdexp.exe reverses this process and produces an API surface that uses the corresponding Windows en tiempo de ejecuciónWindows Runtime types. Por ejemplo, los tipos que se crean a partir de la interfaz IList<T> se asignan a los tipos que se crean a partir de la interfaz Windows en tiempo de ejecuciónWindows RuntimeIVector<T>.For example, types that are constructed from the IList<T> interface map to types that are constructed from the Windows en tiempo de ejecuciónWindows RuntimeIVector<T>interface.

Vea tambiénSee also