Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Assemblies

Lesson 6 of 27 in the free C# Programming notes on Siksha Sarovar, written by Rohit Jangra.

What is an Assembly?

An assembly is the fundamental building block of .NET applications. When you compile your C# code, the output is an assembly.

Study Deep: The Global Assembly Cache (GAC)

Before .NET, "DLL Hell" happened because different apps overwrote the same shared DLLs.

  • The Fix: The GAC is a centralized folder in Windows (C:\Windows\Microsoft.NET\assembly) where shared assemblies are stored.
  • Versioning: The GAC allows multiple versions of the same DLL (e.g., version 1.0 and version 2.0) to coexist. .NET apps are smart enough to look for the specific version they were built with, ensuring one app's update never breaks another app.

Contents of an Assembly

Every assembly contains four distinct parts:

ComponentDescription
1. MSIL CodeThe Intermediate Language code generated by the compiler.
2. MetadataDescribes the types (classes, methods, properties) defined in the code so other assemblies can use them.
3. ManifestThe "Table of Contents". Contains version info, list of files, and referenced assemblies.
4. ResourcesNon-executable data like images, icons, or text strings embedded in the file.

Private vs. Shared Assemblies

FeaturePrivate AssemblyShared Assembly
UsageUsed by a single application.Intended to be used by multiple applications.
LocationStored in the application's root directory (local).Stored in the Global Assembly Cache (GAC).
Versioningspecific version not strictly enforced.Strong version enforcement to prevent conflicts.
NamingSimple file name.Requires a Strong Name (Public Key Token + Version + Culture).