Microsoft .NET 4.0 完整框架和客户端配置文件之间的差异
Posted
技术标签:
【中文标题】Microsoft .NET 4.0 完整框架和客户端配置文件之间的差异【英文标题】:Differences between Microsoft .NET 4.0 full Framework and Client Profile 【发布时间】:2011-02-15 02:21:11 【问题描述】:Microsoft .NET Framework 4.0 完整安装程序(32 位和 64 位)为 48.1 MB,客户端配置文件安装程序为 41.0 MB。解压后的安装文件分别为 237 MB 和 194 MB,安装后分别为 537 MB 和 427 MB。
这是 110 MB 的差异。这两个包有什么区别?
何时最好安装客户端配置文件而不是完整的 .NET Framework?
【问题讨论】:
7.1 MB 的差异?开发人员对compile errors 感到沮丧,因为微软认为 7.1 MB 值得一分为二?太棒了。 旧线程但带有.NET framework 4.5, the client profile has been discontinuedA 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two?
这只是 安装程序。解压后,多了 43MB。安装后,它会增加 110MB。您可以忘记嵌入式或低调系统;成本和架构并不是 Rπ 不支持 Windows 的唯一原因。
【参考方案1】:
What's new in .NET Framework 4 Client Profile RTM 解释了许多不同之处:
何时使用 NET4 客户端配置文件以及何时使用 NET4 Full Framework?NET4 客户端配置文件: 始终将 NET4 客户端配置文件用于所有客户端桌面应用程序(包括 Windows 窗体和 WPF 应用程序)。
NET4 完整框架: 仅当您的应用程序需要的功能或程序集未包含在客户端配置文件中时,才以 NET4 Full 为目标。这包括:
如果您正在构建服务器应用程序。如: o ASP.Net 应用程序 o 服务器端基于 ASMX 的 Web 服务 如果您使用旧版客户端方案。如: o 使用 NET4 中已弃用且未包含在客户端配置文件中的 System.Data.OracleClient.dll。 o 使用旧版 Windows Workflow Foundation 3.0 或 3.5(WF3.0、WF3.5) 如果您面向开发人员场景并需要 MSBuild 等工具或需要访问 System.Design.dll 等设计程序集
但是,as stated on MSDN,这与 >=4.5 无关:
从 .NET Framework 4.5 开始,客户端配置文件已停用,只有完整的可再发行包可用。 .NET Framework 4.5 提供的优化(例如更小的下载大小和更快的部署)消除了对单独部署包的需求。单个可再发行组件简化了安装过程并简化了应用的部署选项。
【讨论】:
这篇博文还讨论了不同的框架文件大小:hanselman.com/blog/…【参考方案2】:在 MSDN 上的 Assemblies in the .NET Framework Client Profile 上提供了程序集列表(列表太长,无法在此处包含)。
如果您对功能更感兴趣,MSDN 上的.NET Framework Client Profile 列出了以下内容:
公共语言运行时 (CLR) 点击一次 Windows 窗体 Windows Presentation Foundation (WPF) Windows 通信基础 (WCF) 实体框架 Windows 工作流基础 演讲 XSLT 支持 LINQ to SQL 实体框架和 WCF 数据服务的运行时设计库 托管可扩展性框架 (MEF) 动态类型 并行编程功能,例如任务并行库 (TPL)、并行 LINQ (PLINQ) 和协调数据结构 (CDS) 调试客户端应用程序以下不包括在内:
ASP.NET 高级 Windows Communication Foundation (WCF) 功能 适用于 Oracle 的 .NET Framework 数据提供程序 用于编译的 MSBuild【讨论】:
【参考方案3】:您应该在公司内部部署“客户端配置文件”而不是“完整框架”,主要仅在一种情况下:您希望明确拒绝某些 .NET 功能正在客户端计算机上运行。唯一真实的情况是拒绝公司的客户端计算机上的 ASP.NET,例如,出于安全原因或现有公司政策。
在客户端计算机上节省少于 8 MB 的空间并不是在公司中部署“客户端配置文件”的重要原因。在公司后期部署“完整框架”的必要性风险高于每个客户 8 MB 的成本。
【讨论】:
Cameron 回答中的链接说明了很多原因。 @Ade。当然,我们都在谈论同样的事情。两个包之间的差异是众所周知的。我只想说清楚,使用“客户端配置文件”的唯一严重原因是要求在客户端计算机上拒绝 ASP.NET。所有其他技术细节都不是很重要。Saving of less then 8 MB…
这只是安装程序;安装后会增加 110MB。
110Mb-8Mb 在这个 1Tb 驱动器等的时代,谁在乎?
@Oleg,如果您的回答是正确的,那么为什么 .NET 4.5 及更高版本不再支持客户端配置文件?【参考方案4】:
Cameron MacFarland 做到了。
我想补充一点,.NET 4.0 客户端配置文件将包含在 Windows Update 和未来的 Windows 版本中。期望大多数计算机具有客户端配置文件,而不是完整配置文件。如果您从事business-to-consumer (B2C) 销售,请不要低估这一事实。
【讨论】:
以上是关于Microsoft .NET 4.0 完整框架和客户端配置文件之间的差异的主要内容,如果未能解决你的问题,请参考以下文章
如何在 .NET 4.0 中使用 Microsoft.Bcl.Async 支持 TransactionScope 中的异步方法? [复制]
.NET 导入Excel服务器报未在本地计算机上注册 Microsoft.Jet.Oledb.4.0提供程序