.NET Framework 4.5完全安装如何只有50MB(因为它们不再具有客户端配置文件)?

Eth*_*oft 13 .net c# visual-studio-2010 visual-studio-2008 visual-studio

(所有大小的引用都是打包大小的术语,而不是已部署/安装的大小)

基本上,以前的.NET Framework 3.5的大小为几百MB(231.5 MB),而3.5的客户端配置文件不存在,但是,版本4.0的客户端配置文件确实存在,大小仅为41 MB,而4.0的完整安装(不是CP)是48.1 MB的大小.

现在,他们说(在问题末尾发布的链接中)大多数应用程序往往需要客户端配置文件4.0中未涵盖的类和命名空间,因此他们决定不为此执行4.5版的客户端配置文件.他们引用的另一个原因是,因为他们能够将.NET Framework 4.5的完整安装版本降低到50 MB,这也减少了创建客户端配置文件版本的需要(因为.NET 4.5完全安装只有9 MB的大于.NET 4.0客户端配置文件),只有1. MB大于等效的完整安装(独立脱机安装程序).

现在,我的问题实际上只有两部分,如下:

1).实际上(请原谅我的热情)3.5及以下(3.0,2.0)版本如何在几百MB的尺寸上实现,当4.0和4.5版本在3.5及以下修复了这么多问题时,自从添加了这么多功能以来3.5及以下,虽然包装尺寸小几倍?

2).这是客户端配置文件的最后一个词,或者我们有一天会看到.NET 4.5的版本吗?

3).在修复人员问题和添加如此多的功能时,4.5怎么能只有1.9 MB大于4.0?

更新:( 对任何愿意的人提出潜在的第四个问题):

@Gromer提出了一个有趣的观点,即不包括语言包.由于他们需要包含1种语言,我假设它是英语,这是默认的?如果是这样的话,当大多数人甚至不知道/不了解".NET Framework"是什么时,普通互联网用户如何为自己的使用和语言下载和安装语言包?我错过了什么或者这不重要吗?框架在口语或对话框中与最终用户通信的频率如何?

我得到一些这方面信息的文章如下:

http://blogs.msdn.com/b/dotnet/archive/2012/10/12/improvements-in-net-framework-setup-for-developers-it-pros-and-users.aspx

Luk*_*uke 10

如果您查看3.5英寸独立安装程序,您会惊讶地发现有多少个子设置.

dotnetfx35_with_sp1.exe为例:它是一个大型的231MB链式安装程序.用它解压缩时

dotnetfx35_with_sp1.exe /x:myfolder
Run Code Online (Sandbox Code Playgroud)

你得到一个240Mb的文件夹,分成几个其他文件夹:

dotNetMSP [111.2Mb] ==> x64 [45.0Mb], ia64 [36.2Mb], x86 [29.7Mb], [other] 300k 
dotNetFX20 [47.6Mb] ==> about 50/50% between 32 and 64 bit
dotNetFX30 [46.8Mb] ==> x64 [24Mb], x86 [22Mb]
dotNetFX35 [31.5Mb] ==> ia64 [12.8Mb], x64 [10.8Mb], x86 [7.7Mb]
...and some other files around...
Run Code Online (Sandbox Code Playgroud)

如您所知,.NET 3.5需要.NET 3.0和.NET 2.0,这正是您在此处看到的.即使不包含语言包,它们也必须针对许多不同的平台(从Windows XP开始)并包含很多补丁.

继续使用.NET 4.x,这些对先前框架的依赖性已被删除,同时,它们支持更少(和更新)的操作系统和平台(例如ia64支持 - 文件大小相当沉重 - 现在几乎消失了).

从我在新设置上看到的情况来看,它们也可能改变了它们发布框架的内部格式,可能还有一个更有效的压缩.

最后但并非最不重要的是,他们改变了许多内部架构,重写了很多东西,这反过来可能让他们删除其他旧东西......

可能没有一个非凡的变化可以让它们大大减小:可能以上所有以及更多:)

只是我的2c :)


Rob*_*vey 4

斯科特·汉塞尔曼 (Scott Hanselman) 雄辩地说:

为什么那个安装程序这么大?

巨大的 .NET 下载是为了一件事 - 它适用于可能想要重新分发不仅包含整个 .NET Framework,而且还包含所有可能平台的安装程序的开发人员或管理员。它有 x86、x64 和 ia64 的安装程序。

http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx

和:

关于 .NET Framework 的大小存在一些混乱。 .NET Framework 实际上并不是 200 多兆的下载量。

我使用哪个安装程序?以下是针对开发人员、ISV 和管理员的全部内容。

  • 脱机安装程序 - 一个可以脱机运行的文件,并且可以在任何运行它的系统上安装 .NET Framework。它是完整的,所有平台,可离线安装。

  • 在线安装程序 - 一个 2.7 兆的安装程序,将检测您需要的文件,然后下载10 到 60 兆的文件

这篇博文详细介绍了 Microsoft 如何缩小 .NET 4 框架平台的安装规模。具体来说:

我们确定了 95% 以上的客户端应用程序使用的框架功能子集,并为此场景生成了一流的包。这样做的结果是,除非您正在利用 ASP.NET 等功能,否则您现在可以依赖较小的框架。

  • 正如 Hanselman 所说,您说 200MB 是因为它适用于所有平台。4.5 的 50MB 也适用于所有平台(IA64 除外,不再支持该平台) (2认同)