.NET Assembly Nedir? Yapısı ve Bileşenleri
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

.NET Assembly’nin dört ana bileşeni olan CIL, Metadata, Manifest ve Resources yapısını açıklayan görsel.
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.
Sonuç
Bir .NET Assembly, uygulamanızın hem çalışma mantığını hem de kendi tanımını barındıran birimdir. CIL, Metadata, Manifest ve Resources bölümleri birlikte çalışarak uygulamanın taşınabilir, güvenli ve yönetilebilir olmasını sağlar.🔍 Ek Okuma Önerisi
EMRAH EROĞLU sitesinden daha fazla şey keşfedin
Subscribe to get the latest posts sent to your email.
2 Responses
[…] Intermediate Language ile ilgili .Net Assembly Nedir? yazımı okumanızı tavsiye […]
[…] .NET Assembly Nedir ve Nasıl Oluşur? […]