问题描述
|
我已经看到了有关.Net Framework 3或3.5或4为何很好的问题和答案。但是我有一个可以在所有这些版本(包括2)中很好地编译的应用程序。我很好奇,如果我使用.Net 2编译我的应用程序并将其分发,是否会出现问题。 (版本2本机支持许多版本的Windows。)
旧版本或我应该知道的性能或速度问题吗?
非常感谢
解决方法
不,您可以继续使用.NET 2。
在我看来,使用.NET 3.5的主要好处是可以使用LINQ(无需使用LINQBridge这样的额外库),这可以使您的代码更简单。
.NET 3和.NET 3.5是.NET 2的补充,因此不应该有任何性能差异-.NET 3.5与.NET 2.0 SP1一起发出警告,因此进行了一些修改...但是如果如果您在安装了.NET 3.5的计算机上运行.NET 2.0应用程序,则该程序仍将运行SP1代码,因此,无论您实际针对的是.NET 2.0还是3.5,都没有任何区别。
, 好吧,不是真的。
如果您的应用程序在2.0上运行,则它们也可以在3,3.5和4.0上运行,因为它们是向后兼容的。
, 如果您与2.0相处,然后编译为2.0,则没有理由人为地提高要求。
但是,如果您不使用任何3.0+功能,我建议您学习所有新功能。它将加速您的开发并改善您的代码。
, 这个论点有多远?如果最初的问题问到为什么3.5或4.0如果1.0有效,答案是否会不同?
在某个时候,存在对过期的平台坚持太长时间的风险。您可能仍然对2.0没问题,但据我所推,可能落后2个版本。
, 我认为这确实取决于您的用例。
这个程序是:
您部署到各种Windows客户端的客户端(例如,消费者型Win应用程序)
您部署到企业的客户端(他们将管理.net版本)
数据中心上的服务器端应用程序
您出售的服务器端应用程序和其他安装的应用程序
等等
如果它是#1,那么如果您希望满足.NET 2的要求,则可以使用它。就不更新.NET而言,您可能希望为用户带来最少的摩擦。 Windows 7带有.NET 3.5,Vista带有.NET 3(对于服务器操作系统类似)。
如果您知道您的目标用户是Win7及更高版本,则.NET 3.5很好。正如其他海报所提到的,.NET 3.5 vs 2.0的主要优点是
LINQ
WPF
世界足球联合会
如果您是上述#2场景,则一定要使用.NET4。在包括LINQ在内的许多方面都有很多改进,而且在运行时,如果您控制系统,那么绝对值得在其中使用6年。从软件角度看未来。 #3更是如此。
对于#4,您必须确定这对您的客户来说是否是个问题。大多数时候不是,但是可以。
当然,无论如何,您都可以使用VS 2010的多目标功能来使用现代工具。
不久前,我写了必须安装的http://chatpast.com的客户端部分。尽管痛苦不堪,但我在Windows Forms和.NET 2.0中写道,因为那是最不可能给用户造成问题并需要.NET安装/升级的工具。但是服务器端代码都是.NET 4.0。
因此,我想您甚至可以说这不是纯粹的选择和/或选择。考虑一下对于部署的每个部分有意义的事情。