Bir .net derleyici ile exe yada dll oluşturduğunuzu düşünün ,bu dosya yürütülebilir bir dosya olamaz.Bu böyle olacağı için bunu yerine tür ve sınıfları listeleyen bir bildiri ve yükleme uygulamamızda yada uygulamanın bir yerinde derleyici kullanan ve .net çalışma gurubu ile derlenip yürütülen MSIL(Microsoft İntermediate Langue) kullanılır.
Bunun en büyük özelliği ve avantajı , bir yapı dili gibi gözükmesi ve derleyicinin kodumuza ne yaptığını örneklerle göstermesidir.
Tabiki bunlar yapılırken Microsoft bize .net derleyicisi tarafından oluşturulan MSIL çıktısını görmek için exe yada dll açabilmenizi,sınıf,tür,ad alanları vb. kodları görebilmemizi sağlayan Microsoft .NET Framework IL Disassembler (ILDASM) isimli bir yapı geliştirmiştir ve bu çözücü tüm frameworklerde içerir.
Şimdi bunu uygulamalı olarak anlatırsam daha iyi anlaşılacağını düşünüyorum.Başlat--Çalıştır--ildasm yazın(yada IL Disassembler--vistada böyle belirtilmiş)

Şimdi burada File--Open dan karşınıza windows v. içinden bin klasörü açılacaktır.Buradan bir dosya seçersek çarpraz başvuru ile parça,bildiri ve sınıfları görebiliriz.

Burada ad alanları,sınıf,tür vb. ifadeleri yazılı ifadelerin solundaki simgelerle belirtilmiştir.Yukardaki resimden simgesel örneklerle ifade etmek gerekirse.
AD ALANI: mavi kalkan(örn:system)
SINIF:üç çıkışı olan mavi dikdörtgen(örn:system.tools.)
YÖNTEM:mor dikdörtgen
ENUM:e işaretli üç çıkışlı kahverengi dikdörtgen
..
...
Bu dosyaların açık hallerinde iyi incelendiği takdirde ileri .net uygulamalarında işe yarar ve uygulamaya aktarıcağınız birçok ipucu görebilirsiniz.Yazımın sonuna gelmeden önce önemli bir şey söylemek istiyorum.Bir exe nin yada dll in yönetilen dosya olup olmadığını anlamak için açmayı deneyin.Dosya yönetilen dosya ise açılır ama "has no valid CLP header and cannot be disassembled" ifadesiyle bir hata alırsanız yönetilmeyen dosya anlamına gelir.