When I started new .NET Console Application in VS2010, By default Target Framework was set to .NET Framework 4.0 Client Profile, what is the difference between .NET Framework 4.0 and .NET Framework 4.0 Client Profile
The client profile attempts to restrict the set of referenced assemblies to those that are only interesting to a client application. For example it won't make System.Web
available by default because it is not typically valuable to client apps.
The intent is to constraint the Visual Studio experience to that which is necessary to complete your application.
Straight from the Microsoft castle:
What is it: 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.
Why: This enables faster deployment and a smaller install package for applications that target the .NET Framework 4 Client Profile.
.NET Framework Client Profile:
http://msdn.microsoft.com/en-us/library/cc656912.aspx