.NET derlemesi dosya biçimi

.NET, .NET programlarını tam olarak açıklamak ve içermek için kullanılan ikili dosya biçimini, derlemeyi tanımlar. Bütünleştirilmiş kodlar hem programların hem de bağımlı kitaplıkların kendileri için kullanılır. Bir .NET programı, uygun .NET uygulamasının ötesinde başka gerekli yapıtlar olmadan bir veya daha fazla derleme olarak yürütülebilir. İşletim sistemi API'leri de dahil olmak üzere yerel bağımlılıklar ayrı bir konudur ve bazen bu biçimle (örneğin WinRT) açıklanmalarına rağmen .NET derleme biçiminde yer almaz.

Her CLI bileşeni, bu bileşene özgü bildirimler, uygulamalar ve başvurular için meta verileri taşır. Bu nedenle, bileşene özgü meta veriler bileşen meta verileri olarak adlandırılır ve sonuçta elde edilen bileşenin, ECMA 335 I.9.1, Bileşenler ve derlemelerden kendi kendine açıklayıcı olduğu söylenir.

Biçim tam olarak belirtilir ve ECMA 335 olarak standartlaştırılır. Tüm .NET derleyicileri ve çalışma zamanları bu biçimi kullanır. Belgelenmiş ve seyrek güncelleştirilen ikili biçimin varlığı, birlikte çalışabilirlik açısından önemli bir avantaj (muhtemelen bir gereksinimdir) olmuştur. Biçim en son 2005'te (.NET Framework 2.0) genel değerleri ve işlemci mimarisini barındıracak şekilde önemli bir şekilde güncelleştirildi.

Biçimi CPU ve işletim sistemi agnostiktir. Birçok yonga ve CPU'yu hedefleyen .NET uygulamalarının bir parçası olarak kullanılmıştır. Biçimin kendisi Windows mirasına sahip olsa da, herhangi bir işletim sisteminde uygulanabilir. İşletim sistemi birlikte çalışabilirliği için muhtemelen en önemli seçenek, çoğu değerin küçük endian biçiminde depolanmasıdır. Makine işaretçisi boyutuna (örneğin, 32 bit, 64 bit) özgü bir benzimi yoktur.

.NET derleme biçimi, belirli bir programın veya kitaplığın yapısı hakkında da çok açıklayıcıdır. Bir derlemenin iç bileşenlerini, özellikle de tanımlanan derleme başvurularını ve türlerini ve bunların iç yapısını açıklar. Araçlar veya API'ler bu bilgileri görüntülemek veya programlı kararlar almak için okuyabilir ve işleyebilir.

Biçimlendir

.NET ikili biçimi, Windows PE dosya biçimini temel alır. Aslında, .NET sınıf kitaplıkları uyumlu Windows PE'leridir ve ilk bakışta Windows dinamik bağlantı kitaplıkları (DLL'ler) veya uygulama yürütülebilir dosyaları (EXE) olarak görünür. Bu, yerel yürütülebilir ikili dosyalar olarak gizlenebilecekleri ve aynı işlemlerden (örneğin, işletim sistemi yükü, PE araçları) faydalanabilecekleri Windows'da çok yararlı bir özelliktir.

Derleme üst bilgileri

ECMA 335 II.25.1 Derleme Üst Bilgileri, Çalışma zamanı dosya biçiminin yapısı.

Derlemeleri işleme

Derlemeleri işlemek için araçlar veya API'ler yazmak mümkündür. Derleme bilgileri çalışma zamanında programlı kararlar almayı, derlemeleri yeniden yazmayı, düzenleyicide API IntelliSense sağlamayı ve belge oluşturmayı sağlar. System.Reflection, System.Reflection.MetadataLoadContextve Mono.Cecil , bu amaçla sık kullanılan araçlara iyi örneklerdir.