The Windows Metadata Format

The Windows.winmd file in Figure 32.6 should feel a bit strange to managed code developers. Why doesn’t this assembly have a .dll extension? The answer may be quite surprising: This is not an assembly as we’re used to in the world of managed code and the CLR. Instead, it’s a so-called Windows Metadata file, hence the .winmd extension.

What’s the difference between an assembly and a Windows Metadata file? One difference is in the runtime that’s using the files. While the CLR is in charge of reading and executing assemblies, Windows Metdata files are used by the WinRT and various tools. Another difference is that the primary goal of Windows Metadata files is to describe the structure of an API in terms of classes, interfaces, ...

Get C# 5.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.