Export (0) Print
Expand All
23 out of 40 rated this helpful - Rate this topic

Assemblies and the Global Assembly Cache (C# Programming Guide)

An assembly is a fundamental building block of any .NET Framework application. For example, when you build a simple C# application, Visual Studio creates an assembly in the form of a single portable executable (PE) file, specifically an EXE or DLL.

Assemblies contain metadata that describe their own internal version number and details of all the data and object types they contain. For more information see Assembly Manifest.

Assemblies are only loaded as they are required. If they are not used, they are not loaded. This means that assemblies can be an efficient way to manage resources in larger projects.

Assemblies can contain one or more modules. For example, larger projects may be planned in such a way that several individual developers work on separate modules, all coming together to create a single assembly. For more information on modules, see the topic How to: Build a Multifile Assembly.

Assemblies Overview

Assemblies have the following properties:

  • Assemblies are implemented as .exe or .dll files.

  • You can share an assembly between applications by placing it in the Global Assembly Cache.

  • Assemblies must be strong-named before they can be placed in the Global Assembly Cache. For more information, see Strong-Named Assemblies.

  • Assemblies are only loaded into memory if they are required.

  • You can programmatically obtain information about an assembly using reflection. For more information, see the topic Reflection.

  • If you want to load an assembly only to inspect it, use a method such as ReflectionOnlyLoadFrom.

  • You can use two versions of the same assembly in a single application. For more information, see extern alias.

Related Sections

C# Language Specification

For more information, see the following sections in the C# Language Specification:

  • 1.2 Program structure

  • 9.1 Compilation units

See Also

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.