.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 bileşenleri: CIL, Metadata, Manifest ve Resources yapılarını gösteren diyagram

.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,
ikisi de derlendiğinde aynı CIL çıktısını üretir.
💡 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ında Console.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)
Manifest sayesinde .NET, hangi sürümün hangi bağımlılıkla çalıştığını bilir. Bu yapı version control ve security açısından kritik öneme sahiptir.

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.

Bilinmeyen adlı kullanıcının avatarı

Emrah Eroğlu

Software Engineer Microsoft Dynamics CRM Developer | Azure | Power Apps

You may also like...

2 Responses

  1. 8 Ekim 2025

    […] Intermediate Language ile ilgili .Net Assembly Nedir? yazımı okumanızı tavsiye […]

  2. 9 Ekim 2025

    […] .NET Assembly Nedir ve Nasıl Oluşur? […]

Bir Cevap Yazın

EMRAH EROĞLU sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin

EMRAH EROĞLU sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin

Verified by MonsterInsights