In .NET when you compile your code, an assembly
is produced. An assembly is a collection of modules (or even a single module) which holds the intermediate code and metadata associated with it which are popularly known as Portable Executable files or in short PE files. Each assembly in .NET can be linked together with other assemblies via an
assembly linker. We cannot see the data inside a .NET assembly using text editors. We need specialized tools that
can read binary data present inside an assembly to get any meaning from it. The .NET framework includes a great tool called
ildasm.exe that can read from portable executables and show you the IL. The idea behind inspecting an assembly is to ...