Microsoft .NET: Jumpstart for Systems Administrators and Developers

3.11 Global Assembly Cache (GAC)

3.11 Global Assembly Cache (GAC)

The GAC is a machine wide code cache that stores assemblies shared by applications running on that computer. Although, a useful feature, only use the GAC when you need to it is because you can easily end up with a string of dependencies that will lead to support problems. The best strategy is probably to keep the assemblies in the same directory structure as the application and only share assemblies in the GAC when you really need to. Keeping assemblies in an application directory does not prevent them from being accessible to unmanaged code or COM interoperability.

If you do need to use the GAC, the GAC tool is a part of the .NET Framework SDK that allows assemblies to be copied into it. Failing that, Windows Explorer can be used to simply drag-and-drop files across. Use of the Windows Explorer is only advisable when running in a development environment since it does not provide assembly reference counting or other management features.

The GAC resides in the WINNT directory, so it will inherit that directory s Access Control List. Therefore, access needs to be limited to trusted administrators only. Any assemblies placed into the GAC will need to be strongly named since they will undergo integrity checks to ensure that they have not been damaged or altered in any way.

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Blade Servers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.