.NET Assemblies

Definitions

GAC

Global Assembly Cache

A machine-wide .NET assemblies cache for Microsoft’s CLR platform.

PE

Portable executable file

In the Microsoft Windows implementation of .NET, an assembly is a PE file. There are two types, process assemblies (EXE) and library assemblies (DLL)

Private assembly

This means that the assembly can only exist in the application folder, or in a subfolder, and hence it is called a private assembly because it can only be used by a specific application.

Name

The name of an assembly consists of four parts:

1

Short name

On Windows this is the name of the PE file without the extension.

2

Culture

In general, library and process assemblies should be culture neutral

3

Version

This is a dotted number made up for 4 values - major, minor, build and revision. The version is only used if the assembly has a strong name.

4

Public key token

This is a 64-bit hash of the public key which corresponds to the private key used to sign the assembly. A signed assembly is said to have a strong name.

Global Assembly Cache

List

List the global assembly cache:

"c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\gacutil.exe" /l

Remove

To remove an assembly from the Global Assembly Cache:

"c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\gacutil.exe" /u CSObjects