---
title: "Assemblies in C#"  
description: "Assemblies in C#"  
author: "Anonymous User"  
published: 2018-11-24  
updated: 2018-11-24  
canonical: https://www.mindstick.com/forum/34705/assemblies-in-c-sharp  
category: "c#"  
tags: ["c#", ".net", "oops", ".net assembly"]  
reading_time: 3 minutes  

---

# Assemblies in C#

## [Assembly](https://www.mindstick.com/articles/25/global-assembly-cache) Files

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/7093bb6f-cac2-435d-9671-5c51c08d0af1.jpeg)**\**

If we read about an Assembly in a proper sense then we found that all the .NET assemblies contain the definition of types, versioning information for the type, meta-data, and manifest. The developers and designers of .NET have worked a lot on the component (assembly) resolution. The assembly in .NET is the standard for components developed with the Microsoft.NET technology. The .NET assemblies may or may not be executable, i.e., they might exist as the executable (.exe) file or dynamic link library (DLL) file. Overall the .NET assemblies contain the definition of types, versioning information for the type, meta-data, and manifest. The designers or developer of .NET has worked a lot on the component (assembly) resolution. An Assembly is a basic building block of the.Net Framework applications. This is basically compiled code that can be executed by the CLR. The assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. The Assembly can be a .dll or .exe files depending upon the project that we choose.

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/7cdf1fee-0190-4a1f-b910-466e68f964b1.png)\

There is two kind of assemblies in .NET:

1. • Private Assembly
2. • Shared Assembly
3. • [Satellite](https://www.mindstick.com/blog/302705/decoding-satellite-communication-how-satellites-connect-the-world) Assembly

**Private Assemblies** are simple and copied with each calling assemblies in the calling assemblies folder.

| ![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/39dc6df8-91df-4d93-b73b-ad9215ccb0f2.gif)\ | ![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/4b0426be-4281-4075-b0a2-57fef43271d6.gif)\ |
| --- | --- |

**\
[Single File](https://www.mindstick.com/forum/161633/how-do-you-merge-multiple-text-files-into-a-single-file) Assembly :**

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/938f3484-28f4-453d-80e7-8d58015812a2.png)**\**

#### Shared Assembly :

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/fbe19a46-ecf9-49c8-aa3a-bd5d3856d934.png)**\**

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/98e1f9b9-5f99-4adc-b81f-abe76f5d617e.png)**\**

#### Satellite Assembly

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/6de4905f-07f8-4389-a757-33d11189beea.png)**\**

The satellite assemblies are the .NET [Framework](https://www.mindstick.com/forum/34615/software-framework-vs-library) assemblies containing [resources](https://yourviews.mindstick.com/view/293/renovation-causes-wastage-of-resources) specific to a given language. When you used satellite assemblies, you can place resources for different [languages](https://yourviews.mindstick.com/story/1463/some-oldest-languages-in-the-world-still-spoken) into the different assemblies, and the correct assembly is [loaded into memory](https://www.mindstick.com/interview/2404/an-app-is-loaded-into-memory-but-is-not-executing-any-code-in-which-state-will-it-be-in) only if the user selects to view the [application](https://www.mindstick.com/articles/12824/calculator-application-in-android) in that language.

**Feature of Assembly**

Assemblies are self-describing.

Version dependencies are recorded inside assembly manifest.

Assembly can be loaded [side by side](https://www.mindstick.com/forum/12815/display-two-fields-side-by-side-in-a-bootstrap-form).

[Installation](https://www.mindstick.com/articles/711/php-installation-on-windows) can be easy as copying the files that belong to an assembly.

Assembly can be private or shared.

**Type of Assembly**

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/ba72d07e-536a-4fdc-8ffa-8253c6388834.png)**\**

## Role in Microsoft.Net

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/a7d95749-7ba1-432e-a93d-361b8cd96e39.gif)**\**

![Assemblies in C#](https://www.mindstick.com/mindstickforums/8c35fa7e-660b-402f-be23-15bd9c8d980a/images/cc5a6d2b-3693-4faf-b371-2eb8143091ad.png)**\**

## Different between Assembly and DLL

An assembly is basically a file that contains the MSIL Code and Metadata.

It is the smallest unit of deployment of .Net applications.

An assembly in .net has 2 extension (.exe and .dll)

Dll : dynamic link library.

So, we can say a dll is one type of an assembly

## \

## \

**Thanks...!!!** for reading this article.


---

Original Source: https://www.mindstick.com/forum/34705/assemblies-in-c-sharp

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
