34

Possible Duplicate:
Difference between .NET 4 Client Profile and Full Framework download

I noticed that you can change the target platform in .NET applications to the Client Profile or the Full profile. What is the difference between the two? How should I choose which is the correct one for my project?

Community
  • 1
  • 1
Roman
  • 10,309
  • 17
  • 66
  • 101

4 Answers4

42

There is very little point in targeting the client profile for .NET 4.0. The download is 41MB, the full version is 48MB, only 15% bigger.

The client profile does make a lot of sense if you target 3.5, the full installer is ~350 MB. The huge difference is explained by the prerequisites, .NET 4.0 requires at least XP SP3 or Vista SP1, 3.5 installs on any version of Windows > 2000. The 3.5 installer thus contains lots of the required updates for unmanaged Windows components used by .NET. The web installer lessens that blow considerably btw.

The client profile is painful in .NET 4.0 because VS2010 made it the default .NET framework target. And deals quite poorly with a solution that has projects that have a mix of full and client profile targets, produces very mystifying build errors on code that IntelliSense doesn't complain about. They didn't make the same mistake again in VS2012, nor does .NET 4.5 have a Client profile. Good riddance.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
  • I'd not spotted that one Hans - cheers for the info – Jon Cage Mar 15 '11 at 00:50
  • 3
    `There is very little point in targeting the client profile for .NET 4.0. The download is 41MB, the full version is 48MB, only 15% bigger.`   That’s only the installer. Once installed, the difference is 110MB for .NET 4.0. The difference between 3.5 and 4.0 is that the 3.5 installer (at least the full, offline installer) includes 3.0 and 2.0. – Synetech May 06 '13 at 03:00
  • That's nonsense, read the answer. – Hans Passant May 06 '13 at 03:26
  • @HansPassant, I think he is right. It *does* seem to be a difference of 110 MB... http://stackoverflow.com/q/2759228/632951 – Pacerier May 12 '14 at 19:29
32

Summarized from MSDN:

When 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.

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:

  • .NET Framework Data Provider for Oracle
  • ASP.NET
  • Advanced Windows Communication Foundation (WCF) functionality
  • MSBuild for compiling

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.

DanO
  • 2,526
  • 2
  • 32
  • 38
Roman
  • 10,309
  • 17
  • 66
  • 101
3

The Client Profile only installs a subset of .NET that is relevant to desktop applications. This means that in some cases, you have to use the Full profile to get some features. The Client Profile is a lot smaller of course, and I would recommend it for small desktop applications.

Dominic K
  • 6,975
  • 11
  • 53
  • 62
3

While the difference in size is essentially negligible with modern networks, there is one major difference. Windows Update (and Windows 7 & 8 I believe) will only install the client framework on an end users machine. So the chances of the end user having the client framework already installed is much higher than the full framework.

Paul Alexander
  • 31,970
  • 14
  • 96
  • 151