Programming with Application Domains and Assemblies

Hosts such as ASP.NET and the Windows shell load the common language runtime into a process, create an application domain in that process, and then load and execute user code in that application domain when running a .NET Framework application. In most cases, you do not have to worry about creating application domains and loading assemblies into them because the runtime host performs those tasks.

However, if you're creating an application that will host the common language runtime, creating tools or code you want to unload programmatically, or creating pluggable components that can be unloaded and reloaded on the fly, you will be creating your own application domains. Even if you are not creating a runtime host, this section provides important information on how to work with application domains and assemblies loaded in these application domains.

In This Section

Using Application Domains
Provides examples of creating, configuring, and using application domains.

Programming with Assemblies
Describes how to create, sign, and set attributes on assemblies.

Emitting Dynamic Methods and Assemblies
Describes how to create dynamic assemblies.

Assemblies in .NET
Provides a conceptual overview of assemblies.

Application Domains
Provides a conceptual overview of application domains.

Reflection Overview
Describes how to use the Reflection class to obtain information about an assembly.