Can you explain how Visual Studio builds a project (for example a console appl.) so that all
classes within the project looks like defined in the same assembly?
..
Or let me put it in this way:
When I open the built assembly with ILDASM, why the metadata for all the classes within the
same project are shown under ‘TypeDef’ metadata table? But why not in the TypeRef?
From TypeDef vs TypeRef (a blog post):
So it makes perfect sense for an assembly to include a
TypeDeffor everything in the project, and aTypeReffor everything referred to in other assemblies from that project.