/WINMD (Generate Windows Metadata)

Enables generation of a Windows Runtime Metadata (.winmd) file.



The default setting for Universal Windows Platform apps. The linker generates both the binary executable file and the .winmd metadata file.

The linker generates only the binary executable file, but not a .winmd file.

The linker generates only the .winmd file, but not the binary executable file.


The /WINMD linker option is used for UWP apps and Windows runtime components to control the creation of a Windows Runtime metadata (.winmd) file. A .winmd file is a kind of DLL that contains metadata for Windows runtime types and, in the case of runtime components, the implementations of those types. The metadata follows the ECMA-335 standard.

By default, the output file name has the form binaryname.winmd. To specify a different file name, use the /WINMDFILE option.

To set this linker option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Set C++ compiler and build properties in Visual Studio.

  2. Select the Configuration Properties > Linker > Windows Metadata property page.

  3. In the Generate Windows Metadata drop-down list box, select the option you want.

See also

Walkthrough: Creating a Simple Windows Runtime component and calling it from JavaScript
Introduction to Microsoft Interface Definition Language 3.0
/WINMDFILE (Specify winmd File)
/WINMDKEYFILE (Specify winmd Key File)
/WINMDKEYCONTAINER (Specify Key Container)
/WINMDDELAYSIGN (Partially Sign a winmd)
MSVC linker reference
MSVC Linker Options