Genelde “Assembly nedir?” sorusu sorulduğunda, akla gelen ilk cevap eski bir programlama dilidir. Ancak aslında doğru soru “.NET Assembly nedir?” olmalıdır.
Microsoft .NET Framework veya .NET Core / .NET 5+ ailesinde, herhangi bir .NET dilinde (örneğin C#, VB.NET, F#) uygulama geliştirdiğimizde, yazdığımız kod derleyici (Compiler) tarafından .dll veya .exe uzantılı bir çıktı haline getirilir. İşte bu çıktı, .NET Assembly olarak adlandırılır.
.NET Assembly’nin Bileşenleri
Bir Assembly temelde 4 ana bileşenden oluşur:- Common Intermediate Language (CIL)
- Metadata
- Manifest
- Resources

1. Common Intermediate Language (CIL)
.NET platformuna ait dillerle yazdığımız tüm kodlar, derleme işlemi sonucunda Common Intermediate Language (CIL) adı verilen ortak bir ara dile dönüştürülür. Bu CIL, makine kodu değildir. CIL’in amacı, kodun platformdan bağımsız hale getirilmesini sağlamaktır. Daha sonra çalışma anında (runtime) bu CIL kodları Common Language Runtime (CLR) tarafından Just-In-Time (JIT) derleyiciyle makine koduna dönüştürülür. Örneğin:- C# ile yazılmış bir kod,
- VB.NET ile yazılmış bir kod,
💡 Kodlarınızın IL (Intermediate Language) hâlini görmek isterseniz ILDASM veya dotnet ILDASM araçlarını kullanabilirsiniz.
2. Metadata
Metadata, yazdığınız kod hakkında bilgi taşıyan yapıdır. Uygulamadaki değişkenler, fonksiyonlar, sınıflar, namespace’ler ve referanslar gibi bilgileri içerir. Örneğin, bir Console uygulamasındaConsole.WriteLine() metodunu çağırdığınızda, bu metodun tanımı Metadata içinde yer alır. Visual Studio, bu bilgiyi kullanarak size IntelliSense önerilerini sunar.
💬 Kısaca Metadata, kodun “kendi hakkında bilgi taşıyan” kısmıdır.
3. Manifest
Manifest, Assembly’nin kimliğini tanımlayan bölümdür. Burada aşağıdaki bilgiler tutulur:- Assembly adı
- Versiyon numarası
- Yasal bilgiler
- Bağımlı Assembly listeleri (örneğin referans verilen diğer kütüphaneler)
4. Resources
Resources, uygulamanın kullandığı dış kaynak dosyalarını içerir. Bunlar; resimler, GIF’ler, HTML/XML dosyaları veya.resx uzantılı kaynak dosyaları olabilir.
Yani bir uygulama içindeki tüm yardımcı varlıklar (örneğin bir butonun ikonu veya yerelleştirme dosyası) burada depolanır.

Bir yanıt yazın