Microsoft .NET 4.0完整框架和客户端配置文件之间的差异


360

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?


52
相差7.1 MB?开发人员对编译错误感到沮丧,因为Microsoft认为7.1 MB值得将其一分为二吗?太棒了
JYelton 2012年


13
A 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的唯一原因。
Synetech

Answers:


365

.NET Framework 4 Client Profile RTM中的新增功能解释了许多差异:

何时使用NET4客户端配置文件以及何时使用NET4完整框架?
NET4客户端配置文件:
始终将所有客户端桌面应用程序(包括Windows窗体和WPF应用程序)的NET4客户端配置文件作为目标。

NET4完整框架:
仅当客户端配置文件中未包含您应用所需的功能或程序集时,才将NET4完整作为目标。这包括:

  • 如果要构建服务器应用程序。例如:
    o ASP.Net应用程序
    o基于服务器端ASMX的Web服务
  • 如果使用旧版客户端方案。例如:
    o使用System.Data.OracleClient.dll,它在NET4中已弃用,但未包含在客户端配置文件中。
    o使用旧版Windows Workflow Foundation 3.0或3.5(WF3.0,WF3.5)
  • 如果您针对开发人员场景并且需要诸如MSBuild之类的工具,或者需要访问诸如System.Design.dll之类的设计程序集

但是,如MSDN上所述,这与> = 4.5不相关:

从.NET Framework 4.5开始,客户端配置文件已停产,仅完整的可再发行软件包可用。.NET Framework 4.5提供的优化(例如较小的下载大小和更快的部署)消除了对单独部署包的需求。单个可再发行组件简化了安装过程,并简化了应用程序的部署选项。


12
此博客条目也谈到了不同的框架文件大小:hanselman.com/blog/...
M.达德利

56

大多数情况下,您应该在公司内部部署“客户端配置文件”而不是“完整框架”:您要明确拒绝某些.NET功能正在客户端计算机上运行。唯一真实的情况是,例如由于安全原因或现有公司策略,在公司的客户端计算机上拒绝ASP.NET

在客户端计算机上节省少于8 MB的内存并不是在公司中部署“客户端配置文件”的严重原因。公司稍后需要部署“完整框架”的风险高于每个客户端8 MB的成本。


卡梅伦答案中的链接说明了很多原因。
阿德·米勒

13
@阿德 当然,我们都在谈论同一件事。两个软件包之间的差异是众所周知的。我只想明确地说,使用“客户端配置文件”的唯一严重原因是要求在客户端计算机上拒绝ASP.NET。所有其他技术细节并不是很重要。
奥莱格2010年

1
Saving of less then 8 MB… 那只是安装程序;安装后再增加110MB。
Synetech

2
在1Tb驱动器这个时代的110Mb-8Mb,等等。谁在乎?
利亚姆

1
@Oleg,如果您的回答是正确的,那么为什么.NET 4.5及更高版本不再支持客户端配置文件?
Pacerier,2014年

48

可在MSDN上的.NET Framework客户端配置文件中的程序集上找到程序集列表(该列表太长,无法在此处包含)。

如果您对功能更感兴趣,则MSDN上的.NET Framework客户端配置文件列出了以下内容:

  • 公共语言运行时(CLR)
  • ClickOnce
  • Windows表格
  • Windows Presentation Foundation(WPF)
  • Windows Communication Foundation(WCF)
  • 实体框架
  • Windows Workflow Foundation
  • 言语
  • XSLT支持
  • LINQ转SQL
  • 实体框架和WCF数据服务的运行时设计库
  • 托管扩展框架(MEF)
  • 动态类型
  • 并行编程功能,例如任务并行库(TPL),并行LINQ(PLINQ)和协调数据结构(CDS)
  • 调试客户端应用程序

并且以下内容未包括在内:

  • ASP.NET
  • 先进的Windows Communication Foundation(WCF)功能
  • 适用于Oracle的.NET Framework数据提供程序
  • MSBuild进行编译

20

卡梅伦·麦克法兰(Cameron MacFarland)钉牢了它。

我想补充一下,.NET 4.0客户端配置文件将包含在Windows Update和将来的Windows版本中。期望大多数计算机具有客户端配置文件,而不是完整的配置文件。如果您正在进行企业对消费者(B2C)的销售,请不要小看这一事实。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.