我应该针对哪个版本的.NET框架进行开发?

7

我是一个桌面C#开发人员(不是ASP),想了解针对小型个人项目的版本定位。当然,这些项目要尽可能地覆盖广泛的受众群体,所以我一直在针对.NET 3.0(这是Windows Vista系统上没有任何服务包的最新版本)和2.0(这是与VS2008最兼容的版本)进行开发。

不幸的是,这使我无法学习诸如LINQ之类的技术,这些技术是在3.0之后引入的,而随着即将转向VS2010,我想知道是否应该以获取最新功能为代价,将目标平台设置为新的4.0平台,或者应该坚持尽可能地覆盖更广泛的用户基础?


请参见https://dev59.com/u3I95IYBdhLWcg3wvwoQ - Amirshk
你是否期望你的用户有网络连接和下载时间? - mmr
@mmr - 我预计他们会运行exe文件,看到一些错误信息,并认为这是程序本身的问题而放弃。 - MiffTheFox
4个回答

4
我建议使用 .Net 4.0 客户端框架。
虽然它的安装基数不大,但是用户可以轻松安装小型下载文件。
如果您不希望用户需要下载框架,您应该针对 3.5 版本,大多数人已经拥有

没错,这不再是一个巨大的麻烦了。 - ChaosPandion
2
作为对此的一种跟进,最近我尝试在一个运行Win7 Ultimate但没有安装最新.NET的朋友的系统上部署一个针对.NET 4.0的应用程序。他的回复总结如下:“好的,这是一个小安装包,我可以处理。”“哦,我需要重新启动?嗯,我稍后再看吧。”我仍然没有从他那里收到关于它的消息。 - MiffTheFox

4
我建议使用3.5或4.0(如果是我,我会选择4.0)。更新到最新的框架对他们来说不会花费任何成本,并且可能会包含在自动更新中。
我不再建议仅使用2.0,因为在我看来,这就像是奖励IE 6这样的不良行为一样。如果没有开发人员表明将转向更新和更好的软件版本,那么拥有旧版本的人升级的动力在哪里呢?
一旦他们喜欢的许多东西停止工作,他们就会迅速升级。

2
我通常使用.NET 2.0。原因是许多人(至少在我的情况下)正在运行至少Windows Vista或Windows 7,这些操作系统都带有.NET 2.0(我认为)。如果他们使用的是XP,则许多人已经安装了.NET 2.0。
信不信由你,许多人仍然使用较慢的连接,因此下载更新的框架(例如3.5或4.0)可能会过于繁琐,并使他们远离您的产品。
最终取决于您的客户以及您对他们的了解程度。如果您不确定,请选择2.0或3.5。我不会立即使用4.0,因为它相对较新,还没有被很多人采用。

完全不同意..NET 4要小得多...完整安装只有46 MB,如果你选择客户端子集-大小还会更小。 - Artiom Chilaru
在拨号连接上下载46MB需要一段时间。相信我,这很容易让人望而却步,我曾经见过这种情况发生。 - user
我曾经试图在全新的Vista安装上运行一个针对.NET 3.5编写的应用程序,直到它遇到一个LINQ方法并崩溃,因为System.Core不可用,所以我估计Vista是基于3.0版本的。 - MiffTheFox

0

以下是我们的 WPF 应用程序的一些使用统计信息,您可能会发现很有趣。如果您选择使用 WPF,我强烈建议使用 .NET 4。在字体和图像渲染方面,它要好得多。目前,我们有 24% 的用户正在运行 .NET 4 版本。但我们也有一个 .NET 3.5 版本,以使安装更加顺畅。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接