0

运行到这个问题。我在 Visual Studio 2010 中打开一个项目。转换向导出现,我按完成。它会打开项目,但无法编译,并在所有引用都存在时抱怨缺少程序集引用。我怀疑这是因为转换。.csproj 文件从:

<Project DefaultTargets="Build"      
 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

所以目标框架发生了变化。如何禁用此功能?我没有从我这边做任何事情。刚打开项目,编译失败。Visual Studio 2010 中是否有一些智能来禁用或不这样做,所以我可以进行一些开发和编译。它引用了大量其他项目,我没有转换它们的选项。

该项目最初是在 2008 年开发的,我现在在 VS 2010 中打开。

更新 看起来问题是从这个旧应用程序引用的一些程序集已升级到目标框架 3.5。但是这个应用程序仍然针对 2.0。所以我升级了它的目标框架。

现在还有另一个问题。此应用程序和引用的程序集都引用了程序集 A。但应用程序引用的是 A 5.0,而引用的程序集引用的是版本 A 6.0。所以 Visual Studio 对此有所抱怨。为什么这些版本必须匹配?应用程序及其引用的程序集不能使用不同版本的通用程序集吗?

Visual Studio 中的错误报告是阴暗和可悲的。

4

3 回答 3

1

不,这并没有改变目标框架。它改变了工具版本。它仍然应该针对相同版本的框架。

于 2012-11-16T19:30:20.960 回答
0

更新看起来问题是从这个旧应用程序引用的一些程序集已升级到目标框架 3.5。但是这个应用程序仍然针对 2.0。所以我升级了它的目标框架。

现在还有另一个问题。此应用程序和引用的程序集都引用了程序集 A。但应用程序引用的是 A 5.0,而引用的程序集引用的是版本 A 6.0。所以 Visual Studio 对此有所抱怨。为什么这些版本必须匹配?应用程序及其引用的程序集不能使用不同版本的通用程序集吗?

Visual Studio 中的错误报告是阴暗和可悲的。

于 2012-11-17T15:08:58.077 回答
0

有什么特别的组装吗?.NET fwk 或您自己的程序集缺少引用吗?我记得您可以通过在 csproj 文件中将版本号从 10 增加到 11 来跳过转换器(如果您来自 vs2008)

于 2012-11-16T19:42:17.790 回答