.NET已经成为软件开发人员和消费者中的一种流行技术。我在想如果在.NET中开发基于Windows窗体的产品是一个明智的决定,可以由全球成千上万的客户下载。真正的问题可能是.NET版本已经大大增加的框架安装。
v2.0安装了22MB,但最新的v3.5超过150MB,可以证明是客户的决定性因素。我听说过一些工具可以为.NET程序集(例如ILMerge)执行一种“静态”链接,并且可以用来创建小的自包含可执行文件,但问题是这些工具可以在生产环境中使用吗? ILMerge工具是一个研究工具,我认为它从未进入VS安装。
我有一个需要开发的产品需要一个非常漂亮的用户界面,可以使用WPF支持来完成。但我不确定客户是否愿意为4MB应用程序下载150MB框架(不确定v3.0有多大)。如果我在.NET 2.0中开发,我会失去对WPF的支持。 XP,Vista,Windows 7是否预装了.NET框架?
- 根据评论更新 -
该应用程序将从网站下载,不会有可分发的媒体。
支持的操作系统
Win 98, ME, 2000 - Full install of Runtime required
Win XP SP2, SP3, 2003 (I think these have .NET 2.0)
Vista, 2008 - All version have atleast v3.0
Windows 7 - v3.5
答案 0 :(得分:4)
.NET框架的各种版本确实来了pre installed with Vista and Windows 7:
如果您真的担心下载大小,请查看客户端配置文件。这是框架的简化版本,仅包含对客户端应用程序开发最重要的部分。我相信它的大小约为30 MB。支持它在3.5中不完整。它只能在XP 32bit上运行,并且只有没有安装其他框架版本,但在4.0中看起来要好得多。它现在适用于支持完整.NET框架的所有平台,即使它们已经有另一个框架版本,并且可以重新分发形式以及Web安装程序See here
超越技术细节,您需要考虑目标市场。不同的市场有不同的基线和要求。请记住,如果您在物理上分发媒体,则始终可以将.NET安装程序与应用程序捆绑在一张CD上。我会说在大多数情况下它不应该是一个问题(特别是如果你针对客户端配置文件),我只会担心你是否针对一个特定的小型市场部门,该部门对允许的软件有非常严格的要求
答案 1 :(得分:3)
如果您担心安装的大小,那么我会将.Net 2.0框架定位在.Net 3.5框架上 - 如果您只是在做一个基本的Windows窗体应用程序(没有WCF,WPF或Linq等......)然后.Net 2.0框架具有.Net 3.0或3.5的90%的功能,并且它也出现在更高百分比的机器上(80%根据this博客)
在VS2008中,我修改了我的项目模板,使其成为默认设置。
答案 2 :(得分:1)
对于网络连接速度较慢的用户来说,这肯定是一个问题。一种解决方案是将开发限制为不使用较新的功能(这就是我所做的),并在应用程序的安装说明网页上提供指向.NET 2.0运行时的链接。这适用于Windows窗体(尽管不可能使用WPF和一些较新的语言功能)。
答案 3 :(得分:1)
还有.NET Framework Client Profile Preview应该将.NET Framework下载大小减少到28 MB。它包括WPF。
答案 4 :(得分:0)
在大多数情况下,我认为这不是一个决定因素。我相信Vista已经打包了.NET 3.0。此外,Java在同一条船上(需要JRE),我不知道任何软件真正遭受了下载像Java或.NET这样的运行时平台的“开销”。
我坚信最好将这些平台视为事实上的标准;现在有这么多应用需要它们;大多数潜在用户已经安装了它们。
答案 5 :(得分:0)
好的,让我问一下这个愚蠢的问题。为什么您将自己局限于独立的桌面客户端而不是Web应用程序?你可以使用Silverlight做一些奇特的东西。我工作的客户之一,在市场上有一个独立的客户端,但最终还是想把它移到网上,因为他也需要Mac用户。
答案 6 :(得分:0)
让它如此精彩,客户端会下载1GB框架:)。
现在非常认真,因为XP和上面的所有版本预装了.NET,你还在担心什么?
你现在可以只针对.NET 2.0(除非提交给WPF),并且在3.5获得足够的人气后,切换。
答案 7 :(得分:0)
如果不需要离线安装.NET,则可以使用the online installer 并且实际下载大小将低于60兆(取决于已安装的数量)。