我看到您想要“安装时使用的磁盘”而不是“下载大小”。这不是一个特别有用的衡量标准,答案是“你基本上看不出来”,但为了感兴趣,这是我的数据:
查看我的 windows 目录,在Microsoft.NET\Framework
我的 windows vista PC 上的目录(这是所有框架所在的位置)中,我有以下目录:
- v1.0.3705:400 k
- v1.1.4322:493 字节
但是请注意,我实际上并没有安装这些框架。为了兼容性,Vista 可能只是有一些别名。无论如何,您永远都不会使用这些版本进行开发,因为它们已经过时(与较新的东西相比,它们是废话)
现在这就是有趣的地方。
- “框架”目录本身有 356 k 的文件
- v2.0.50727:152 MB
- v3.0:10.5 MB
- v3.5:24.7 MB
中还有“全局程序集缓存” C:\Windows\assembly
,在我的 PC 上运行到 530 MB,但其中一些文件硬链接到其他目录,所以它们不计算在内。
然而,这具有误导性,因为 3.0 和 3.5 “在” 2.0 之上运行,您不能单独拥有它们。
那是原始数据,但并不像只看数字那么简单。
我安装了 Visual Studio 2005 和 2008。这让我获得了数百 MB 的调试 dll。
这也是Microsoft Visual J# 2.0 Redistributable Package
安装 Visual Studio 的一部分,在客户端 PC 上不需要,除非您使用没有人使用过的 J#。那是 7 MB
除了所有 dll 的调试副本外,还有 XML 文档文件,在 framework\v2.0 目录中总共有 69 MB
任何拥有Vista 的人都已经拥有v2.0 和v3.0 目录,而且他们的v2.0 目录会小很多,除非他们还安装了.NET 3.5。除非您专门针对 .NET 3.5,否则 Vista 上的“部署成本”因此为零。
对于一些更真实的“客户端”数据,我有一台 Windows XP SP2 PC,只安装了基本的 .NET 2.0。这是上面的数字:
- Windows\Microsoft.NET\Framework\v2.0.50727:64 MB
- Windows\assembly:92 MB(注意,由于硬链接,它并没有这么大)
我记得前段时间在 winXP 上看到 .NET 2.0 需要 130 兆字节,这听起来很对。
现在,这听起来很多,但这里有一些数据可以与之对比:
VC++ 2008 基础 dll(vc、mfc、atl)为 10 meg,它们提供的功能很少。当您构建具有任何不错的功能集的 C++ 应用程序时,根据我的经验,您正在查看大约 4 到 5 兆的可执行文件和 dll 的交付。相比之下,我不久前构建的一个功能相当的 .NET 应用程序有 800k 的 dll 和可执行文件,其中大部分被嵌入的图标和位图占用。
如今,在 .NET 运行时开始大获全胜之前,它不需要那么多应用程序。