Full and Partial Profiles
What is the difference between the client and full framework profiles? Which one should I target?
The use of profiles has changed considerably from .Net 3.5 to .Net 4. In .Net 3.5 a client profile was introduced for Windows XP to be able to have a small web download that could run many applications that depended on new framework features. The full download of .Net 3.5 was very large. In .Net 4 the client profile is a more deliberate factoring of the framework into two pieces.
The client profile component is sufficient to run most applications. The features not included in the client profile are for programming ASP.NET applications, development tools, and libraries that have been deprecated. ASP.NET application development includes the IIS hosting and some of the REST components of WCF.
The extended component contains the remainder of the framework features. The full profile corresponds to having both the client profile component and extended component installed. Since the client profile component contains most of the features in the framework, the client profile is only marginally smaller than the full framework. However, both profiles are much smaller than .Net 3.5.
The client profile will be more broadly deployed so you should target that if possible. Client applications should have no problems with the client profile while a portion of service applications will need to require the full profile.
Comments
Anonymous
February 01, 2010
Who was the genius that decided REST doesn't belong in the client profile?Anonymous
February 02, 2010
Hi Jesse, Is there a particular REST feature that you think should be in the client profile? The JSON serializer was moved to a different dll so that it would be available. Many of the features for writing REST services work best hosted in IIS, which requires the full profile.