This documentation is archived and is not being maintained.

.NET Framework Advanced Development

This section of the documentation covers advanced programming subjects related to the .NET Framework.

Add-ins and Extensibility

Describes how to develop add-in applications that extend a host application's functionality.

Administration and Management

Describes how to manage objects in the Active Directory, and how to use Windows Management Instrumentation (WMI) to obtain enterprise data and automate administrative tasks.

Asynchronous Programming Design Patterns

Describes two design patterns available in the .NET Framework that are used to run threads separately from the main application thread.

Cleaning Up Unmanaged Resources

Describes the recommended design pattern for cleaning up unmanaged resources.

Component Authoring for the Design Environment

Provides links to information about creating your own components in the .NET Framework, customizing their behavior and display, and creating custom controls for the Windows Presentation Foundation (WPF).

Dynamic Source Code Generation and Compilation

Discusses the Code Document Object Model (CodeDOM), which enables the output of source code in multiple programming languages.

Emitting Dynamic Methods and Assemblies

Describes a set of managed types in the System.Reflection.Emit namespace that enable a compiler or tool to emit metadata and Microsoft intermediate language (MSIL) at run time and optionally generate a portable executable (PE) file on disk.

Expression Trees

Introduces expression trees, which are tree-shaped data structures that can be used to represent language-level code in the form of data.

Garbage Collection

Discusses how the garbage collector manages memory and how you can program to use memory more efficiently.

Hosting the Common Language Runtime

Explains the concept of a runtime host, which loads the runtime into a process, creates the application domain in the process, and loads and executes user code.


Describes services provided by the .NET Framework for interaction with COM components, COM+ services, external type libraries, and many operating system services.

.NET Remoting

Discusses establishing communication between objects that run in different processes.

Network Programming

Shows how to use Internet access classes to implement both Web- and Internet-based applications.


Explains how to obtain access to type information at run time by using reflection.


Discusses writing reliable code for any host that is executing in a .NET Framework environment.


Discusses the process of converting the state of an object into a form that can be persisted or transported.

Managed Threading

Explains the runtime support for threading and how to program by using various synchronization techniques.

Writing Serviced Components

Describes how to configure and register serviced components to access COM+ services.

.NET Framework Class Library

Supplies syntax, code examples, and related information for each class that is contained in the .NET Framework namespaces.