How to: Load and Unload Assemblies (C# and Visual Basic)

The assemblies referenced by your program will automatically be loaded at build time, but it is also possible to load specific assemblies into the current application domain at runtime. For more information, see Application Domains (C# and Visual Basic).

There is no way to unload an individual assembly without unloading all of the application domains that contain it. Even if the assembly goes out of scope, the actual assembly file will remain loaded until all application domains that contain it are unloaded.

If you want to unload some assemblies but not others, consider creating a new application domain, executing the code inside that domain, and then unloading that application domain. For more information, see Executing Code in Another Application Domain (C# and Visual Basic).

To load an assembly into an application domain

To unload an application domain

  • There is no way to unload an individual assembly without unloading all of the application domains that contain it. Use the Unload method from AppDomain to unload the application domains. For more information, see How to: Unload an Application Domain.

See Also

Tasks

How to: Load Assemblies into an Application Domain

Reference

Application Domains (C# and Visual Basic)

Concepts

C# Programming Guide

Assemblies and the Global Assembly Cache (C# and Visual Basic)

Other Resources

Visual Basic Programming Guide