Hosting the Common Language Runtime

The common language runtime supports many different types of applications. For example, the runtime can run Web server applications and console applications, as well as applications with a traditional rich Windows user interface.

Each type of .NET Framework application requires a piece of code called a runtime host to start. The runtime host loads the runtime into a process, creates the application domains within the process, and loads and executes user code within those application domains. This section explains how to write a runtime host that performs several fundamental tasks.

In This Section

Hosting Overview
Provides an overview of runtime hosting.
Loading the Runtime into a Process
Describes how to load the runtime into a process.
Transitioning to Managed Hosting Code
Describes how to make a transition from unmanaged to managed code.
Determining Application Domain Boundaries
Describes how to determine where to set boundaries for a new application domain.
Creating and Configuring Application Domains
Describes how to create and configure application domains in which to run user code.
Loading and Executing User Code
Describes how to load and execute user code.
Setting Application Domain-Level Security Policy
Describes how to set an application domain-level security policy.
Setting Role-Based Security Policy and Principals
Describes how to set a role-based security policy.
Unloading Domains and Shutting Down a Process
Describes how to unload application domains and shut down a process.

Related Sections

Runtime Hosts
Describes the code that an application needs in order to start.
Application Domains
Describes the constructs that hosts use to isolate code running within a process.
Side-by-Side Execution
Describes running multiple versions of an application, a component or the runtime.