2010-05-11 108 views
0

当我更改Visual Studio 2010中任何项目的目标框架时,它实际上并未更改系统组件引用。例如,如果我的目标是v2.0并检查System和System.Data的属性,我可以看到它们仍然是v4.0。如果我将目标更改为v3.5,则System保持在v4.0,但System.Core更改为v3.5。Visual Studio 2010中的目标框架没有更改

因此,我真的没有针对除v4.0以外的任何东西。

+0

您是通过UI更改目标还是更新.proj文件或...? (注意在MSBuild级别混淆TargetFrameworkVersion,TargetFrameworkProfile和TargetFrameworkMoniker。) – Brian 2010-05-12 01:22:20

+0

我已经尝试了UI和Proj文件。我创建了一个新项目......根本没有修改它,然后我仍然无法构建。这肯定是我的盒子有问题。 – 2010-05-12 02:01:07

回答

0

我已经重新安装了Visual Studio几次,它没有解决任何问题。卸载后,有10.0个东西铺设在整个地方,导致我相信卸载程序也将导致此问题。我将不得不重新安装操作系统来解决问题。

我也想链接到我以前的帖子,因为这篇文章有更多关于我最初发现这个问题的信息,包含我打开的Microsoft Connect错误报告的链接,并链接到其他几个遇到同样问题的用户:Visual Studio 2010 Can no longer build .NET v3.5

2

安装时可能有些奇怪。我刚刚创建了一个WPF项目,保留了默认设置,因此针对.NET 4.然后,我切换到了3.5。 VS要求重新加载项目,然后目标运行时的引用是v2(正确),它们的版本是3.5(有一个Microsoft.CSharp和System.Xaml丢失的错误,这是可以理解的)。然后,我对.NET 3和2也做了同样的结果:在重新加载项目之后,被引用的DLL的版本发生了变化(System.Data始终为v2.0)。

使用CLR v2时,vshost调试助手的名称已更改为类似vshost-clrv2的名称。

+0

我已经卸载并重新安装VS2010和.NET 3.5和4.0,但问题仍然存在。 – 2010-05-11 20:32:50

+0

您是否遇到过相同的行为,即VS要求您重新加载项目等? – Timores 2010-05-11 22:01:11

+0

是的,它似乎试图更改目标框架,但是当您检查引用的属性时,它们不会更改,除非它们位于“引用程序集”文件夹中。这会导致程序集之间的不匹配。有些是2.0,有些是4.0,由于含糊不清的引用导致构建中断。 – 2010-05-11 23:39:53

相关问题