如何确定什么是.Net目标

时间:2010-01-31 14:19:40

标签: .net visual-studio visual-studio-2008

我们现在使用VS2003(目标为.Net 1.1),我们想升级到VS2008,但我想知道新的.Net目标应该是什么?

  1. 我应该将目标保留为.Net 1.1(很旧,未安装在所有计算机上)或升级吗?

  2. 如果我升级 - 是2.0恩斯吗?或者升级到最新的3.5(我们的客户使用Windows XP,Vista和Windows 7)

  3. 如果我将我的应用定位到2.0,并且用户有3.5,会发生什么?用户应该在.Net 3.5上安装.Net 2.0吗?即使安装旧版本“以上”新版本,它可以并排工作吗?或者应用程序可以正常运行,因为3.5“包括”2.0?

  4. 谢谢,

    Atara

    。 。

    谢谢大家。 我想我将定位到2.0,覆盖我的大多数客户,如果客户没有安装任何.Net,我会要求他安装最新版本(3.5及更高版本4)

    您能否确认.Net 3.5刚刚向2.0添加了更多程序集,并且不包含2.0程序集的错误修复程序?

    (我的用户的计算机技能水平不高,安装越少越好)

    。 。 。更新: 看我的问题 - Microsoft .NET compatibility

    感谢您的回答。

    Atara

5 个答案:

答案 0 :(得分:5)

您无法使用VS2008定位1.1,因此请抓取该选项。 2.0,3.0和3.5之间没有真正的区别,它们都使用相同版本的CLR。版本3.0和3.5只添加了更多程序集。值得注意的是那些支持WPF,WCF和Linq。

如果您对使用这些新功能不感兴趣,那么定位2.0就可以了。如果目标机器安装了任何版本的.NET等于或大于2.0,那么您的程序将毫无问题地运行。

发现您可能会意外地使用仅在更高版本中可用的类很容易,当您使用Project + Add Reference时,您根本无法添加程序集引用。后面的那些将在列表中显示为灰色。它也在MSDN Library中有详细记录,该类可用的框架版本列在页面底部。

还有一个选择:如果你的许多客户仍然没有安装.NET,那么你可能需要考虑检查“仅客户端框架子集”。这会减少您可以引用核心程序集的程序集,关联的Client Framework安装是非常精简的28 MB。

答案 1 :(得分:3)

我的目标是3.5,大多数安装和服务包现在默认安装它,所以你应该没问题。如果您的目标是2.0并且用户没有3.5,那么它就完全支持了。

答案 2 :(得分:3)

快速说明,如果升级到VS2008,则无法定位任何1.X框架。 VS2008仅支持定位2.0,3.0和3.5框架。

定位框架时需要考虑的一件事是对客户的影响。要使用您的应用程序,目标客户还需要在其计算机上安装相应的.Net框架。执行此操作的成本可能会有所不同,具体取决于方案。最好的情况是.Net框架已经安装,因此用户可以安装您的应用程序。

  • 1.X:预装在W2K3上
  • 2.0:预安装在Windows Vista,W2K8和Win7上
  • 2.0SP1:预安装在Win7(可能是W2k8)
  • 3.5:Win7(可能是W2K8)

我个人的选择是使用2.0框架,除非您的应用程序实际使用3.5或更高版本框架中的功能。这增加了最终用户已经在其计算机上安装.Net框架的机会,从而降低了安装应用程序的成本。

最后一部分,如果客户拥有更高版本的.Net框架,那么您的应用程序将正常运行。

答案 3 :(得分:2)

如果你从VS2003开始没有升级,并且即将升级 - 请考虑等待不到6个月,以获得VS2010。有几个好处:

  • 您仍然可以定位.NET 2.0 / 3.5,但是只要您决定需要它,您也可以使用.NET 4.0。
  • 对于新项目,你可以开始着手升级到4.0,而不是无可救药地落后(因为你,没有冒犯,现在......如果和VS2008呆在一起会很快)你可以成为前缘。
  • 由于存在公开测试版,如果您愿意,可以让开发人员开始习惯新环境。我不是律师,但据我所知,在商业制作中使用测试版没有法律限制 - 除了因为它是测试版,MS不承担稳定性的责任等。尽管......但是效果很好...... / LI>
  • 公共测试版的另一个影响是.NET 4中的新功能有很多文章,屏幕演员和博客文章,以及如何利用它们。大多数新发布的材料都是针对VS2010的,很快就会为VS2008程序员的观众编写新内容(或很少)。

答案 4 :(得分:1)

.Net 3.5 SP1默认安装在Windows 7上,Windows Vista安装了3.0。

如果您要将应用转换为WPF,请使用目标3.5。

如果要使用LINQ或Lambda表达式,则使用至少3.0

2.0现在应该在所有机器上。大多数用户应该拥有3.5,因为它推动了Windows更新。

我会推迟4.0(当它发布时),但如果这是必须的,目标4.0客户端,因为它只有30mb左右。

要求用户没有安装的框架对他们来说是一个烦恼。确保您的部署解决方案将检测.Net,如果他们没有,请在计算机上安装3.5 sp1(即使您的目标是2.0而他们没有2.0)。

从1.1迁移到2.0是一个很大的步骤,因为您需要在代码中重写或更改一些内容,主要是由于过时的方法等。

使用VS 2010 Beta 2后我的主IDE,我不能再使用2008. 2010年是一个很大的改进,所以2003年> 2008。

对于你目前的情况,目标2.0,但稍后在目标3.0或3.5上使用lambda(resharper可以帮助优化你的代码!)