我应该使用哪个.NET Framework版本进行发布:2、3、3.5?

11

我的应用程序使用2.0版本。将来可能会想要开始使用后续框架版本中添加的新功能。我应该等到那时候再更新吗?还是现在就升级到最新的.NET 3.5有优势?

我猜在我准备好下一个春季发布时,4.0版本将已经发布。也许我应该坚持使用2.0版本进行秋季发布,并节省客户另外安装框架所需的硬盘空间和安装时间?

14个回答

0

我同意EBGreenChris的观点,但我想补充一点,您可能需要考虑针对较新版本的框架测试您的应用程序,并允许您的应用程序针对那些您认为可以很好地运行的版本运行(这可以通过一些配置技巧来完成,但不幸的是,我找不到相关参考资料)。这样,您的应用程序就可以针对客户端可能已经安装的版本进行工作。

我建议这样做的原因是:

  1. 新的框架版本可能会提高性能。
  2. 客户端可能已经在他们的计算机上安装了另一个版本,如果像您所说的那样浪费硬盘空间将是一件遗憾的事情。
  3. 您可能希望在将来的某个时候针对较新的框架版本运行您的应用程序,如果您的客户端已经拥有该版本并且正在运行当前版本的应用程序,则他们的计算机上不会有旧的框架。

尽管如此,我还缺少您可能拥有的一些信息,例如分发手段、客户机器的分析等。


0

我发现2.0版本是最容易定位和部署的版本,因为很多人已经安装了它。如果你的客户群中有相当一部分使用Vista,你可能考虑升级到3.0。而高于此版本的几乎总是需要安装,这对某些用户来说可能会很麻烦。

编辑:关于“框架版本不再支持”的论点毫无意义,因为3.0是2.0的扩展,3.5是其扩展。按定义,只要3.5得到支持,2.0就会得到支持。1.1版本是唯一一个完全独立的运行时版本,不再受支持。


0
我想问的一个问题是,你想使用.NET 3.5的哪些功能?许多被吹捧的功能实际上是C# 3.0的功能,而不是专门针对.NET 3.0/3.5的功能。由于C# 3.0使用与.NET Framework 2.0相同的CLR,因此您可以在2.0应用程序中自由地使用它们。这仅需要VS 2008。
例如:
- Lambda表达式 - 对象初始化器 - 匿名类型 - 局部变量类型推断 - 扩展方法
我在自己的.NET 2.0项目中使用了许多这些功能,没有任何问题。
如果您想要特定于框架的功能(如Linq、WPF等),那么您就必须升级。

0

我同意你应该考虑你的应用程序当前需要什么,但你也应该为你的应用程序未来可能需要的做好准备。

如果你有一些空闲时间,你可以将你的应用程序在SCM中迁移到一个单独的分支,该分支正在运行3.5 Runtime。当你实际需要升级时,你就有了一个可工作的分支(假设你保持它与一些双周合并的最新状态)。


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