.NET Framework Client Profile

The .NET Framework 4 Client Profile is a subset of the .NET Framework 4 that is optimized for client applications. It provides functionality for most client applications, including Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF), and ClickOnce features. This enables faster deployment and a smaller install package for applications that target the .NET Framework 4 Client Profile.

NoteNote

If you are targeting the .NET Framework 4 Client Profile, you cannot reference an assembly that is not in the .NET Framework 4 Client Profile. Instead you must target the .NET Framework 4. For more information, see Troubleshooting .NET Framework Targeting Errors.

This topic contains the following sections.

  • .NET Framework 4 Client Profile Features
  • Features Not Included in the .NET Framework Client Profile
  • When to Use the .NET Framework Client Profile
  • Differences between .NET Framework Client Profile Versions
  • Project Templates that Target the .NET Framework Client Profile
  • Targeting the .NET Framework Client Profile
  • Deploying the .NET Framework Client Profile
  • Related Topics

.NET Framework 4 Client Profile Features

The .NET Framework 4 Client Profile contains the features needed to develop a client application, including:

  • common language runtime (CLR)

  • ClickOnce

  • Windows Forms

  • Windows Presentation Foundation (WPF)

  • Windows Communication Foundation (WCF)

  • Entity Framework

  • Windows Workflow Foundation

  • Speech

  • XSLT support

  • LINQ to SQL

  • Runtime design libraries for Entity Framework and WCF Data Services 

  • Managed Extensibility Framework (MEF)

  • Dynamic types

  • Parallel-programming features, such as Task Parallel Library (TPL), Parallel LINQ (PLINQ), and Coordination Data Structures (CDS)

  • Debugging client applications

For a complete list of reference assemblies included in the .NET Framework 4 Client Profile, see Assemblies in the .NET Framework Client Profile. For more information about these technologies, see Quick Technology Finder (.NET Framework).

Features Not Included in the .NET Framework Client Profile

The .NET Framework 4 Client Profile does not include the following features. You must install the .NET Framework 4 to use these features in your application:

  • ASP.NET

  • Advanced Windows Communication Foundation (WCF) functionality

  • .NET Framework Data Provider for Oracle

  • MSBuild for compiling

When to Use the .NET Framework Client Profile

Applications that target the .NET Framework 4 Client Profile typically improve the deployment experience by having smaller download sizes and quicker install times. An application that targets the .NET Framework 4 Client Profile has a smaller redistribution package that installs the minimum set of client assemblies on the user's computer, without requiring the full version of the .NET Framework 4 to be present.

Differences between .NET Framework Client Profile Versions

The .NET Framework Client Profile was introduced in .NET Framework 3.5 SP1 to improve deployment and installation of the .NET Framework. The following table lists the differences between the .NET Framework 3.5 SP1 Client Profile and the .NET Framework 4 Client Profile.

.NET Framework 3.5 SP1 Client Profile

.NET Framework 4 Client Profile

Web install only.

Local package and Web install.

Only supports Microsoft Windows XP SP2 or SP3 and x86 architecture where no previous version of the Microsoft .NET Framework is installed.

All platforms and CPU architectures supported by the .NET Framework 4 except IA64.

Single entry in Add or Remove Programs. When the full version of the .NET Framework is installed, it replaces the Client in Programs and Features and cannot be reverted.

Part of the .NET Framework. The .NET Framework is made up of the .NET Framework 4 Client Profile and .NET Framework 4 Extended components that exist separately in Programs and Features.

Windows Update will upgrade it to the full version of the .NET Framework.

Independent component.

  • Can be serviced separately.

  • Does not need the .NET Framework 4 Extended component of the .NET Framework.

Project Templates that Target the .NET Framework Client Profile

Several project templates in Visual Studio 2010 target the .NET Framework 4 Client Profile. The following is a list of the project templates in Visual Studio 2010 that target the .NET Framework 4 Client Profile by default. All other projects target the .NET Framework 4 by default. 

Windows

  • WPF Application

  • WPF Browser Application

  • WPF Custom Control Library

  • WPF User Control Library

  • Windows Forms Application

  • Windows Forms Control Library

  • Console Application

  • Empty Project

  • Window Service

Office

  • All Office 2007 and Office 2010 project templates

WCF

  • WCF Service Library

Workflow

  • Activity Designer Library

  • Activity Library

  • Workflow Console Application

Visual F#

  • F# Application

  • F# Tutorial

Targeting the .NET Framework Client Profile

You can view or change the target framework for a project in Visual Studio. To change the target framework, see How to: Target a Specific .NET Framework Version or Profile.

If you attempt to reference an assembly in your project that is not included in the .NET Framework Client Profile, Visual Studio will display an error message. For more information about troubleshooting targeting errors, see Troubleshooting .NET Framework Targeting Errors. For a complete list of assemblies included in the .NET Framework 4 Client Profile, see Assemblies in the .NET Framework Client Profile.

If your application targets the .NET Framework 4 Client Profile, you can add a reference to a class library that targets the .NET Framework 4 as long as that library does not reference any assemblies not included in the .NET Framework 4 Client Profile. If the library does include references to assemblies not in the .NET Framework 4 Client Profile, then Visual Studio will display an error message.

Deploying the .NET Framework Client Profile

When you deploy an application that targets the .NET Framework 4 Client Profile, you only need to deploy the .NET Framework 4 Client Profile. If you are deploying using ClickOnce, you can select the .NET Framework 4 Client Profile as the .NET Framework Launch Condition. For more information, see .NET Framework Launch Condition.

If you deploy the .NET Framework 4 Client Profile and your application targets the .NET Framework 4, the user will be prompted to install the .NET Framework 4 when he or she tries to run your application.

For more information about deploying the .NET Framework, see Deploying the .NET Framework and Applications and .NET Framework Deployment Guide for Developers.

See Also

Tasks

How to: Target a Specific .NET Framework Version or Profile

Concepts

Visual Studio Multi-Targeting Overview

Troubleshooting .NET Framework Targeting Errors

Assemblies in the .NET Framework Client Profile