.net 如何使用VS2005瞄准旧版本的框架?

.net 如何使用VS2005瞄准旧版本的框架?,.net,configuration,visual-studio-2005,.net,Configuration,Visual Studio 2005,我的电脑上安装了VS2005和VS2008 我有.NETFramework2.0SP2、3.0、3.0SP2和3.5SP1 我可以从下拉窗口中选择在VS2008中使用哪个框架,但我很好奇如何设置我希望在VS2005中针对项目的框架。我显然不想卸载框架,因为我仍然希望对各种目标框架使用VS2008 我试图实现的是使用VS2005,但仅使用2.0中可用的程序集。但同时使用VS2008和我想要的任何框架 我已经试着寻找答案了,所以如果它是一个dup,只要指向我的链接。 谢谢 编辑:好的,根据其他人提到

我的电脑上安装了VS2005和VS2008

我有.NETFramework2.0SP2、3.0、3.0SP2和3.5SP1

我可以从下拉窗口中选择在VS2008中使用哪个框架,但我很好奇如何设置我希望在VS2005中针对项目的框架。我显然不想卸载框架,因为我仍然希望对各种目标框架使用VS2008

我试图实现的是使用VS2005,但仅使用2.0中可用的程序集。但同时使用VS2008和我想要的任何框架

我已经试着寻找答案了,所以如果它是一个dup,只要指向我的链接。 谢谢

编辑:好的,根据其他人提到的和我更深入的挖掘,它看起来可能是2.0框架的一个特定版本。我正在查看WaitHandle WaitOne函数,它导致我们的应用程序在声称安装了2.0的客户PC上崩溃。我们正在调用handle.WaitOne(0),如果您查看规范,它不会显示带有一个int参数的WaitOne函数。但是如果我导航到该定义,它将显示为v2.0.50727,并且编译良好。所以我想我需要针对特定的框架(或者确保客户安装了更新的.NET框架)


另外,他们是否在某个地方更新了新版本的在线msdn文档?

使用

我认为VS2005只允许您使用FX2

而且不需要卸载任何东西

重新编辑:

在这种特定情况下,您可以使用
WaitOne(int,bool)
版本(第二个版本为
false

可以从文档中派生,请参见并注意右上角

但是这个方法是由Fx3.5添加到Fx2,所以它确实验证了你的问题和BinkDev的答案。您需要从您的客户机中找出特定(最低)版本,并确保您至少使用该版本运行/测试


但作为最佳实践,至少让您的客户机更新到Fx2SP2。不过,我不确定这是否解决了这个问题。

我认为VS2005只允许您使用FX2

而且不需要卸载任何东西

重新编辑:

在这种特定情况下,您可以使用
WaitOne(int,bool)
版本(第二个版本为
false

可以从文档中派生,请参见并注意右上角

但是这个方法是由Fx3.5添加到Fx2,所以它确实验证了你的问题和BinkDev的答案。您需要从您的客户机中找出特定(最低)版本,并确保您至少使用该版本运行/测试

但作为最佳实践,至少让您的客户机更新到Fx2SP2。我不确定这是否解决了这个问题

在过去的几个Visual Studio版本中,每个Visual Studio版本只支持特定版本的.NET Framework。例如,VS2002仅适用于.NET1.0,VS2003仅适用于.NET1.1,VS2005仅适用于.NET2.0

(来自)

所以我认为VisualStudio2005只会做你想做的事情。使用2008,您可以选择目标框架:

Unfortunately the VS 2008 multi-targeting support only 
works with .NET 2.0, .NET 3.0 and .NET 3.5    
(来自同一篇文章)

最后:

不过,VS 2008是并排运行的, 与2005年、2003年和2002年相比。 因此,完全有可能 继续瞄准.NET 1.1项目 在与相同的计算机上使用VS 2003 VS 2008

(来自同一篇文章)

更新: 说:

NET框架的版本信息 支持:3.5 SP1、3.0 SP2、2.0 SP2

那么,你们是否都有相同级别的service pack

在过去的几个Visual Studio版本中,每个Visual Studio版本只支持特定版本的.NET Framework。例如,VS2002仅适用于.NET1.0,VS2003仅适用于.NET1.1,VS2005仅适用于.NET2.0

(来自)

所以我认为VisualStudio2005只会做你想做的事情。使用2008,您可以选择目标框架:

Unfortunately the VS 2008 multi-targeting support only 
works with .NET 2.0, .NET 3.0 and .NET 3.5    
(来自同一篇文章)

最后:

不过,VS 2008是并排运行的, 与2005年、2003年和2002年相比。 因此,完全有可能 继续瞄准.NET 1.1项目 在与相同的计算机上使用VS 2003 VS 2008

(来自同一篇文章)

更新: 说:

NET框架的版本信息 支持:3.5 SP1、3.0 SP2、2.0 SP2


那么,你们是否都有相同级别的service pack?

Microsoft在发布.NET 3.5时犯了一个相当严重的错误,他们更改了WaitHandle类的公共接口,但没有更改mscorlib.dll的[AssemblyVersion],它保留在2.0.0.0版本。添加的WaitHandle方法当然很重要,很少有程序员能猜出“exitContext”参数的正确值(false)。但不改变版本会让你头疼


除了避免使用新的重载之外,没有好的解决方法。或者强烈建议您的客户重新启用Windows Update。针对特定的.NET framework版本无法工作,因为它们都获得了相同版本的mscorlib.dll。

Microsoft在发布.NET 3.5时犯了一个相当严重的错误,他们更改了WaitHandle类的公共接口,但没有更改mscorlib.dll的[AssemblyVersion],它保留在2.0.0.0版本。添加的WaitHandle方法当然很重要,很少有程序员能猜出“exitContext”参数的正确值(false)。但不改变版本会让你头疼

除了避免使用新的重载之外,没有好的解决方法。或者强烈建议您的客户重新启用Windows Update。针对特定的.NET framework版本无法工作,因为它们都具有相同版本的mscorlib.dll。

VS2005,