There are two different versions of the .net Framework available, the full version and the client profile version. The Client Profile was introduced with .net 3.5 and was created to answer the feedback from many customers that a smaller framework was needed specifically for Client Applications.
I have continually run into issues where I create a new WPF project add references to Framework libraries and/or third party libraries, have no difficulty coding against these libraries; only to find when I build the solution the compiler throws the following error:
The type or namespace name "name" does not exist in the namespace "namespace". (Are you missing an assembly reference?)
This is because the WPF project by default targets the Client Profile rather than the full framework. Given the advent of Silverlight Desktop applications with elevated privileges, perhaps Microsoft should consider stopping the Client Profile from being the Default target for WPF applications, especial as the advice given at the PDC is use Silverlight unless you need greater interop then use WPF. The Client profile does not include the interop libraries.
This reduced framework only includes some of the assemblies namely:
| Accessibility.dll CustomMarshalers.dll Microsoft.CSharp.dll Microsoft.JScript.dll Microsoft.VisualBasic.Compatibility.Data.dll Microsoft.VisualBasic.Compatibility.dll Microsoft.VisualBasic.dll Microsoft.VisualC.Dll mscorlib.dll PresentationCore.dll PresentationFramework.Aero.dll PresentationFramework.Classic.dll PresentationFramework.dll PresentationFramework.Luna.dll PresentationFramework.Royale.dll ReachFramework.dll sysglobl.dll System.Activities.Core.Presentation.dll System.Activities.dll System.Activities.DurableInstancing.dll System.Activities.Presentation.dll System.Addin.Contract.dll System.Addin.dll System.ComponentModel.Composition.dll System.ComponentModel.DataAnnotations.dll System.configuration.dll System.Configuration.Install.dll System.Core.dll System.Data.DataSetExtensions.dll System.Data.dll System.Data.Entity.dll System.Data.Linq.dll System.Data.Services.Client.dll System.Data.SqlXml.dll System.Deployment.dll System.Device.dll System.DirectoryServices.AccountManagement.dll System.DirectoryServices.dll System.DirectoryServices.Protocols.dll System.dll System.Drawing.dll System.EnterpriseServices.dll | System.EnterpriseServices.Thunk.dll System.EnterpriseServices.Wrapper.dll System.IdentityModel.dll System.IdentityModel.Selectors.dll System.IO.Log.dll System.Management.dll System.Management.Instrumentation.dll System.Messaging.dll System.Net.dll System.Numerics.dll System.Printing.dll System.Runtime.DurableInstancing.dll System.Runtime.Remoting.dll System.Runtime.Serialization.dll System.Runtime.Serialization.Formatters.Soap.dll System.Security.dll System.ServiceModel.Activities.dll System.ServiceModel.Channels.dll System.ServiceModel.Discovery.dll System.ServiceModel.dll System.ServiceModel.Routing.dll System.ServiceProcess.dll System.Speech.dll System.Transactions.dll System.Web.ApplicationServices.dll System.Web.Services.dll System.Windows.Forms.DataVisualization.dll System.Windows.Forms.dll System.Windows.Input.Manipulations.dll System.Windows.Presentation.dll System.Xaml.dll System.XML.dll System.Xml.Linq.dll UIAutomationClient.dll UIAutomationClientsideProviders.dll UIAutomationProvider.dll UIAutomationTypes.dll WindowsBase.dll WindowsFormsIntegration.dll |
In Visual Studio 2010 the Client Profile is the default target for the following project type:
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
Workflow
- Activity Designer Library
- Activity Library
- Workflow Console Application
Visual F#
- F# Application
- F# Tutorial