How to deploy an assembly to the target computer global assembly cache


This step-by-step article describes how to deploy an assembly to the global assembly cache of the target computer. This makes the target computer shareable in other applications. When you do this, strong name signatures must be verified only one time. Also, by loading an assembly from the same location on the disk, you take advantage of the code sharing behavior that the operating system provides and the working set improves.

Step by step procedure

Use Visual Studio .NET to create a setup project, and then deploy the assembly to the target computer global assembly cache. To do this, follow these steps:
  1. To the Solution that contains the project, add a new Setup Project that references to the assembly.
  2. Right-click File System on Target Machine, click Add Special Folder, and then click Global Assembly Cache Folder.
  3. By default, the assembly is inserted in the Application Folder (by default, it is a side-by-side installation). Drag the assembly to the Global Assembly Cache Folder.
  4. Build the Setup Project.


If you rebuild the assembly later, and you change its Version Minor but you do not change its Public Key Token, the relating strong name will be different. Because of this, if you follow steps 1 through 4 to deploy other applications that reference to the rebuilt assembly (which is contained in the package), the target global assembly cache will contain both assemblies.

If the assembly is already strong-named, you can deploy another application in the target global assembly cache. If the assembly is not strong-named, you receive the following message from Task List:
Assembly AssemblyName must have a shared name to be installed globally


For more information about assemblies and the global assembly cache, visit the following Microsoft Web sites:
Simplifying Deployment and Solving DLL Hell with the .NET Framework
For more information, click the following article number to view the article in the Microsoft Knowledge Base:

315682 How to install an assembly into the global assembly cache in Visual Studio .NET


ID articol: 324168 - Ultima examinare: 13 mai 2008 - Revizie: 1