【问题标题】:Target Framework does not change in Visual Studio 2010目标框架在 Visual Studio 2010 中没有改变
【发布时间】:2010-05-11 19:32:48
【问题描述】:

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

因此,除了 v4.0 之外,我真的没有任何目标。

【问题讨论】:

  • 您是通过 UI 更改目标,还是更新 .proj 文件,还是...? (注意在 MSBuild 级别混淆 TargetFrameworkVersion、TargetFrameworkProfile 和 TargetFrameworkMoniker。)
  • 我已经尝试了 UI 和 Proj 文件。我创建了一个新项目......根本没有修改它,然后我仍然无法构建。我的盒子肯定有问题。

标签: visual-studio-2010 msbuild


【解决方案1】:

您的安装中可能有一些奇怪的东西。我刚刚创建了一个 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 之类的名称。

【讨论】:

  • 我已经卸载并重新安装了 VS2010 和 .NET 3.5 和 4.0 但问题仍然存在。
  • 您是否遇到过同样的行为,即VS要求您重新加载项目等?
  • 是的,它似乎正在尝试更改目标框架,但是当您检查引用的属性时,它们不会更改,除非它们位于 Reference Assemblies 文件夹中。这会导致程序集之间的不匹配。有些是 2.0,有些是 4.0,由于引用不明确而导致构建中断。
【解决方案2】:

我已经重新安装了几次 Visual Studio,但都没有解决任何问题。卸载后,到处都是 10.0 的东西,这让我相信卸载程序也会留下导致此问题的原因。我将不得不重新安装操作系统才能解决此问题。

我还想链接到我之前的帖子,因为这篇帖子包含有关我最初是如何发现此问题的更多信息,其中包含指向我打开的 Microsoft Connect 错误报告的链接以及指向遇到相同问题的其他几个用户的链接:@987654321 @

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 2023-01-01
    • 1970-01-01
    相关资源
    最近更新 更多