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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.