.net framework 自从 2002 年发展至今,已经历了好几个版本,1.0, 1.1, 2.0, 3.0, 3.5 等不同的版本更替,.net framework 的Redistributable Package也愈来愈大,到了 .NET Framework 3.5 SP1 时已经膨胀到 231MB,除非软件本身就很大,不然对于 .NET 软件的Redistribute是相当不利的,除非客户端本身就有安装 .NET Framework,否则几乎都要夹带一个 .NET Framework 的Redistributable Package,如果只是一个小小的应用程序文件 (几十或几百KB) 还要夹一个那 大的 .NET Framework Redistributable Package,大概很多开发人员都会觉得麻烦,就算开发人员接受,但在企业网络的 IT 管理人员就不一定会接受了 … 所以 .NET Framework 的减肥一直都是 .NET 开发人员的愿望与期待,而 .NET Framework Client Profile 就是微软针对这个需要的主要响应。既然 .NET 应用程序不一定会用到所有的 .NET Class Library,那微软就将 .NET Framework 部份不常用的功能由主函数库中抽离出来,让Redistributable Package可以缩小,有利于重新发布应用程序。
.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了。