.NET Framework Client Profile 在 .NET 3.5 时首次和开发人员见面,但是碍于它只能利用 ClickOnce 部署方式安装,因此使用它的开发人员不多,且也有许多人反应希望将 .NET Framework Client Profile 能够利用光盘或其他储存媒体转散布,微软从善如流,将 .NET Framework 4.0 的 Client Profile 改成Redistributable Package。
.NET Framework Client Profile 4包含下列功能:
•Common Language Runtime (CLR)
•ClickOnce
•Windows Forms
•Windows Presentation Foundation (WPF)
•Windows Communication Foundation (WCF)
•Entity Framework
•Windows Workflow Foundation
•语音
•XSLT 支援
•LINQ to SQL
•Entity Framework 与 WCF Data Services 执行期设计函式库
•Managed Extensibility Framework (MEF)
•动态型别
•并列程序设计功能,例如 Task Parallel Library (TPL), Parallel LINQ (PLINQ), and Coordination Data Structures (CDS)
•除错客户端应用程序
下列功能不包含,要另外安装 .NET Framework 4.0 的完整版本:
•ASP.NET
•进阶 Windows Communication Foundation (WCF) 功能
•.NET Framework Data Provider for Oracle
•编译用 MSBuild
•Visual Studio 2010 的项目中,下列应用程序会默认使用 .NET Framework 4.0 Client Profile,若要使用完整的 .NET Framework 功能,则要自行到项目属性中设定 target framework 至 .NET Framework 4.0:
•Windows Projects (C# and Visual Basic)
•Windows Presentation Foundation
•WPF Application
•WPF Browser Application
•WPF Custom Control Library
•WPF User Control Library
•Windows Forms
•Windows Forms Application
•Windows Forms Control Library
•Console Application
•Empty Project
•Window Service
•Visual F#
•F# Application
•F# Tutorial
•Workflow (C# and Visual Basic)
•Activity Designer Library
•Activity Library
•Workflow Console Application
•Windows Communication Foundation
•WCF Service Library
•Office 2007 and Office 2010
•All projects target the .NET Framework 4 Client Profile
而 .NET Framework 4.0 Client Profile 与原有的 .NET Framework 3.5 Client Profile 不同的地方有:
•3.5 版本的 Client Profile 只能使用在 Web (ClickOnce),4.0 版本则因为具有Redistributable Package,所以可同时适用于本机或 Web 安装。
•3.5 版本只支持 x86 的 Windows XP SP2/SP3,4.0 版本则支持除了 IA64 以外,.NET Framework 4 支持的所有平台。
•3.5 版本的 Client Profile 与 .NET Framework 3.5 是分开的版本,4.0 版则为 .NET Framework 4.0 完整功能的子集。
•3.5 版本会受 Windows Update 的影响自动升级到 .NET Framework 3.5,4.0 版则可以在不需要完整 .NET Framework 4.0 下自行运作,也可以分开提供服务。
不过也因为如此,当在 Visual Studio 2010 建立新项目时,如果发现 [添加引用] 中没有列出原本应该列出的组件或者引用的其他程序集,在代码中的调用一直提示找不到名字空间时,可以先检查是否是项目的 target framework 设成了 .NET 4.0 Client Profile (例如 System.Web.dll 就不在 .NET 4.0 Client Profile 套件中),若是改成.NET Framework 4就OK了。