.NET 3.5可再发行-200 MB?还有其他选择吗?

时间:2020-03-05 18:38:41  来源:igfitidea点击:

最近,我在做的工作中使用了许多新的.NET 3.5功能。我正在构建的应用程序旨在在可能没有在其计算机上安装最新版本(或者任何版本)的消费者之间分发。

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

解决方案

回答

这是我仍然尽可能以.net 2.0为目标的可悲原因之一:/

但是人们不一定需要完整的200 MB软件包。有一个3 MB的Bootstrapper,它将仅下载所需的组件:

.net 3.5 SP1引导程序

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

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

回答

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

这是一个不错的概述。

我不知道这是否会使下载时间保持在两分钟以内,但它应该使我们更加接近。

回答

另外,值得(以某种方式)包括Service Pack下载。实际上,根据可执行文件的构建方式,我们可能被迫安装Framework和Service Pack。

回答

一旦.NET Framework 3.5 SP1发布(应该很快就会推出),就会有第二种框架选择,即"客户端配置文件",这是一种简化的框架,仅占用内存约30Mb。它不包括完整框架的所有名称空间和类,但对于理论上最常见的应用程序来说应该足够了。如有必要,可以将其升级到完整框架(例如,如果软件更新引入了新的依赖关系)

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

回答

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

回答

.NET 4中的Client Profile变得更好(也更小),请参见

  • 迈向更小的.NET 4-客户端配置文件和下载.NET的详细信息
  • .NET Framework 4 Client Profile RTM中的新增功能
  • .NET Framework客户端配置文件(MSDN)