19

最近,我在工作中使用了很多新的 .NET 3.5 功能。我正在构建的应用程序旨在分发给可能不会在他们的机器上安装 .NET 框架的最新版本(或任何版本)的消费者。

我去下载 .NET 3.5 可再发行包,却发现它差不多有200 MB!这对我的应用程序来说是不可接受的,因为它应该是一个快速且无痛的消费者应用程序,可以快速安装并在用户的机器上保持低调。对于已经安装了 .NET 3.5 的用户,到目前为止,我们的二进制下载是即时​​的。这个 200 MB 的大猩猩将使下载的大小增加四倍多。除了这个可再分发的包之外,还有什么其他的选择可以用来确保框架在机器上,不会让用户脱离我们的“快速和轻松”的工作流程吗?我们从开始下载到完成安装的目标时间不到两分钟。对于尚未安装 .NET 的人来说,这是不可能的吗?

4

6 回答 6

21

这是我仍然尽可能瞄准 .net 2.0 的可悲原因之一:/

但人们不一定需要完整的 200 MB 包。有一个 3 MB 的引导程序,它只会下载所需的组件:

.net 3.5 SP1 引导程序

但是,最坏的情况仍然是下载量很大。此外,请参阅本文以获取有关尺寸的更详细说明以及尺寸问题的替代解决方法。

补充:自从回答了这个问题后,Scott Hanselman 创建了SmallestDotNet.com,它将确定所需的最小下载量。不会改变最坏的情况,但知道仍然有用。

于 2008-08-08T22:35:06.417 回答
12

一旦 .NET Framework 3.5 SP1 出现(应该很快),就会有第二个框架选项,即“客户端配置文件”,它是一个精简的框架,仅占用大约 30Mb 的内存。它不包括完整框架的所有命名空间和类,但理论上对于大多数常见应用程序来说应该足够了。如有必要,它可以升级到完整的框架(例如,如果您的软件更新引入了新的依赖项)

更多信息,请参见此处:BCL 团队博客

于 2008-08-08T23:00:49.343 回答
5

您是否查看过 .NET Framework 客户端配置文件?它比完整的可再发行包要小得多,并且经过优化,仅提供智能客户端所需的功能。

这是一个很好的概述。

我不知道这是否会使下载保持在两分钟内,但它应该让你更接近一点。

于 2008-08-08T22:58:45.760 回答
2

.NET 4 中的客户端配置文件变得更好(并且更小),请参阅

于 2010-09-07T16:55:31.393 回答
1

此外,还值得包括(以某种方式)Service Pack 下载。事实上,根据您的可执行文件的构建方式,您可能会被迫安装框架和服务包。

于 2008-08-08T22:59:48.473 回答
1

作为记录,Microsoft SQL Server 2008 需要 .Net Framework 3.5 SP1 才能在本周发布的同时安装和 RTM。仍然需要大量安装,但您可以从中提取客户端配置文件。只是不确定如何。

于 2008-08-09T13:03:16.100 回答