Roadmap for the .NET Framework

.NET Framework 4.5

This annotated roadmap lists useful resources for understanding, evaluating, and deploying the .NET Framework, and for developing apps that target the .NET Framework. The resources are organized in four sections:



Getting Started with the .NET Framework

Provides a general description of the .NET Framework for developers and users. For the most part, the .NET Framework is transparent to users. Typically, a user runs apps without actually knowing whether the app uses the .NET Framework, and isn't aware whether the .NET Framework is present on his or her computer.



Getting Started with the .NET Framework

Overview of the .NET Framework

Provides a general introduction to the .NET Framework and its two major components: the common language runtime and the .NET Framework class library.

.NET Framework System Requirements

Specifies the hardware requirements and lists the operating systems on which the .NET Framework can run.

What's New in the .NET Framework

Lists new features introduced in the .NET Framework 4.5, with links to more detailed information.

Installing the .NET Framework

.NET Framework 4.5 download

Deploying the .NET Framework and Applications :

Contains information about installing the .NET Framework 4.5, deploying it with your apps, and troubleshooting installations.

Core technologies are features of the .NET Framework that are likely to be of interest to any developer whose apps target the .NET Framework, regardless of the specific development technology he or she is using.




64-bit apps

64-bit Applications

The .NET Framework supports both 32-bit and 64-bit apps. The article discusses the differences and possible issues that may arise from porting 32-bit code to a 64-bit platform.

.NET Framework class library

.NET Framework Class Library Overview

.NET Framework Class Library API Reference

The .NET Framework class library contains the core set of classes used to develop a .NET Framework app.

App domains

Application Domains

Application Domains and Assemblies

An app domain provides an intra-process isolation boundary for apps.

Arrays and collections


Collections and Data Structures

Concurrent Collections

The Immutable Collections (available via NuGet)

Arrays and collections enable you to handle closely related data, such as the temperatures for a range of dates and times or the names of students in a class.


Assemblies in the Common Language Runtime

Assemblies are the fundamental unit of deployment, version control, code reuse, activation scoping, and security permissions in the .NET Framework.

Asynchronous programming

Asynchronous Programming Patterns

In asynchronous programming, a process or operation executes independently of the process that launched it.


Extending Metadata Using Attributes

Attributes are keywords that provide additional information about a program element, such as an assembly, a type, or a type member, and that enable you to modify a behavior.

Common language runtime

Common Language Runtime (CLR)

The common language runtime is the run-time environment of the .NET Framework. It includes memory management and garbage collection services.

Common type system

Common Type System

The .NET Framework provides a type system that is accessible by any language that targets the .NET Framework.

Compiling apps to native code

Compiling Apps with .NET Native

.NET Native is a precompilation technology for building and deploying Windows Store apps. It compiles apps that are written in managed code (C#) and that target the .NET Framework to native code.


Configuring .NET Framework Apps

Configuration File Schema for the .NET Framework

The .NET Framework gives developers and administrators extensive control over the way an app runs through configuration elements.


.NET Framework Cryptography Model

Cryptography allows data to be encoded and decoded for security purposes. The .NET Framework supports many standard cryptographic algorithms, including symmetric, asymmetric, and hash algorithms.

Data access

Accessing Data with ADO.NET

ADO.NET is a set of classes that expose data access services for .NET Framework programmers. ADO.NET can be used to access data from a wide range of data sources, such as Microsoft Access and SQL Server databases.



Delegates (C# Programming Guide)

Delegates (Visual Basic)

A delegate is a class that holds a reference to a method. It is comparable to a function pointer in unmanaged code.


Debugging, Tracing, and Profiling

Debugging enables you to identify errors in program logic and code execution in your apps.

Directory services

Directory Services in the .NET Framework

The .NET Framework includes types in three namespaces (the System.DirectoryServices, System.DirectoryServices.ActiveDirectory, and System.DirectoryServices.Protocols namespaces) that provide access to Windows directory services.

Dynamic language runtime

Dynamic Language Runtime Overview

Dynamic Source Code Generation and Compilation

The .NET Framework supports dynamic languages such as F#, JavaScript, and Python through the dynamic language runtime (DLR).

Events and event-driven programming

Handling and Raising Events

Event-driven programming involves calls to methods based on some specified event, such as a mouse click, the completion of a process, or the termination of a thread.

Exception handling

Handling and Throwing Exceptions

Exceptions are unexpected errors that occur at run time. Exception handling enables an app to handle those errors in a consistent manner.

File compression

How to: Compress and Extract Files


The .NET Framework includes several types that enable you to compress and decompress files and streams.


Formatting Types in the .NET Framework

Formatting involves converting an object to its string representation. For example, the string representation of 1033478 might be "$1,033,478.00".


Generics in the .NET Framework

Generics let you tailor a method, class, or structure to the precise data it acts upon. For example, instead of storing a number of People objects in an ArrayList object, which supports values of any type, you can use the generic List<T> type to store objects in a strongly typed collection object.

Globalization and localization

Globalizing and Localizing .NET Framework Applications

Globalization involves creating an app that is suitable for use in a variety of cultures. Localization involves translating an app's string and other resources and modifying its user interface so that it can be run by users of other cultures.


Using Managed Graphics Classes

Working with Images, Bitmaps, Icons, and Metafiles

Imaging Overview (WPF)

Classes in the .NET Framework provide support for creating, loading, and manipulating images in a variety of formats.


File and Stream I/O

I/O programming enables you to read data from, or write data to, a storage medium, such as the file system, isolated storage, or a named pipe.



Unmanaged API Reference

The .NET Framework lets you call unmanaged code, such as COM components and functions, in external dynamic link libraries.

Language Integrated Query (LINQ)

LINQ Portal

LINQ provides a strongly-typed query language that supports queries across a range of data sources.

Memory management

Memory Management and Garbage Collection in the .NET Framework

The common language runtime manages memory mostly transparently. However, you must manage and clean up unmanaged resources in your apps. And in some advanced scenarios, you may want to control or take advantage of some garbage collection features.

Memory-mapped files

Memory-Mapped Files

A memory-mapped file contains the contents of a file in virtual memory. This enables an app to modify the file by reading or writing directly to or from memory.



MSBuild is the build system for Visual Studio. MSBuild project files support extensive customization of the build process, and the types in the Microsoft.Build namespaces enable programmatic control of builds.

Network programming

Network Programming in the .NET Framework

Network programming enables you to develop apps that use Internet protocols or the Windows Sockets interface.

Parallel programming

Parallel Programming in the .NET Framework

Parallel programming involves developing code that distributes work across multiple processors.


Parsing Strings in the .NET Framework

Parsing is the opposite of formatting. It involves converting a string representation of an object back to the original object.


Caching in .NET Framework Applications

Lazy Initialization

Caching and lazy initialization are two features supported by the .NET Framework that can improve your app's performance.


Performance Counters in the .NET Framework

Tracing and Instrumenting Applications

Enabling Profiling

ETW Events in the .NET Framework

Profiling tools and the .NET Framework's support for profiling help identify potential bottlenecks and areas of poor performance in your apps.


Reflection in the .NET Framework

Emitting Dynamic Methods and Assemblies

Reflection enables you to gather information about managed assemblies, types, and type members at run time, and to dynamically create assemblies and executable code.

Regular expressions

.NET Framework Regular Expressions

Regular Expression Language - Quick Reference

Regular expressions let you process textual or string data that matches a pattern that is defined by the regular expression language.


Resources in Desktop Apps

App Resources for Libraries That Target Multiple Platforms

Creating and retrieving resources in Windows Store apps

Resource files provide a repository for an app's strings and other data. Their use is critical in localized apps.


Security in the .NET Framework

The security features in the .NET Framework help you manage access to resources based on permissions, and facilitate the use of role-based security.

Serialization and deserialization

Serialization in the .NET Framework

Serialization converts an object into a form that can be persisted or transported. Deserialization converts persisted or transmitted data back into the original object.

Side-by-side execution

Side-by-Side Execution in the .NET Framework

Side-by-side execution is the ability to run multiple versions of an app or component on the same computer. Multiple versions of the common language runtime, and multiple versions of apps and components that use a version of the runtime, can run on the same computer at the same time.


Managed Threading

A thread is the basic unit of execution within a process. Multiple threads can execute within a process, and each is allocated processor time.


Transaction Processing

Transactions ensure that a data-related operation is not permanently saved unless each element in the operation completes successfully. A set of related operations either completely succeeds or completely fails as a single unit.

Type conversion

Type Conversion in the .NET Framework

Common Type System

Type conversion creates a value of a new type that is equivalent to the value of the original type.


XAML Overview (WPF)

XAML Services

XAML is a declarative markup language that is used to create the UI for some types of .NET Framework apps.


XML Documents and Data

XML Standards Reference

Employing XML in the .NET Framework

XML is a standards-based markup language that produces human-readable documents.

Zip files and archives

How to: Compress and Extract Files



The .NET Framework supports programmatic manipulation of zip files.

This section provides links to technologies used for developing .NET Framework apps and components.





Microsoft Ajax Overview

A Microsoft Ajax web app consists of either a client-only solution or a client and server solution.


Developing Web Applications with ASP.NET

ASP.NET is a .NET Framework technology for creating web apps that execute on a server and that serve web pages in response to client requests.

Console apps

Building Console Applications in the .NET Framework


A console app reads characters from or writes them to the Windows console.

Managed Extensibility Framework (MEF)

Managed Extensibility Framework (MEF)

The Managed Extensibility Framework is a library for creating lightweight, extensible apps. It enables developers to discover and use extensions at run time with no configuration required.

..NET Micro Framework

What Is the .NET Micro Framework?

.NET Micro Framework Platform SDK

.NET Micro Framework - Home on

The .NET Micro Framework is used in embedded device development.

Windows Store apps

.NET Framework Support for Windows Store Apps and Windows Runtime

The .NET Framework supports the development of Windows Store apps for Windows 8.

Portable Class Library

Cross-Platform Development with the Portable Class Library

The .NET Framework Portable Class Library lets you develop portable assemblies that work without modification on multiple platforms or devices, such as Windows 7, Windows 8, Windows Phone, and Xbox.

Universal Apps

Build universal Windows apps that target WIndows and Windows Phone

You can create an app that targets both Windows and Windows Phone by using the Universal App project template available in Visual Studio 2013 with Update 2 or later.

Windows Communication Foundation (WCF)

Windows Communication Foundation (WCF)

WCF Data Services

Windows Communication Foundation (WCF) is a framework for building service-oriented apps.

Windows Forms

Windows Forms

Windows Forms is used to develop Window-based apps.

Windows Identity Foundation

Windows Identity Foundation

Windows Identity Foundation is a set of .NET Framework classes for implementing claims-based identity in your apps.

Windows Presentation Foundation (WPF)

Windows Presentation Foundation

Windows Presentation Foundation (WPF) provides developers with a unified programming model for building rich Windows smart client apps that incorporate UI, media, and documents.

Windows Runtime components

Creating Windows Runtime Components in C# and Visual Basic

You can use the .NET Framework to create components that can be used by any programming language that supports the Windows Runtime.

Windows services

Developing Windows Service Applications

Windows services enable you to create long-running executable apps that run in their own Windows sessions. They are ideal for use on a server or to provide long-running functionality that does not interfere with users working on the same computer.

Windows Workflow Foundation (WF)

Windows Workflow Foundation (WF)

Windows Workflow Foundation enables you to define an activity, which corresponds to a real-world process, and describe the order of execution and dependent relationships between pieces of short-running or long-running work.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft