【问题标题】:visual studio C# 2010 conversion issuevisual studio C# 2010 转换问题
【发布时间】:2012-11-16 19:27:48
【问题描述】:

运行到这个问题。我在 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 中的错误报告是阴暗可悲的。

【问题讨论】:

  • 您发布的内容完全一样。唯一的区别是ToolsVersion,它不指示您尝试针对哪个 .NET Framework。 确切的构建错误是什么?
  • 错误 2 名称空间“...”中不存在类型或名称空间名称“..”(您是否缺少程序集引用?)。所需的引用作为依赖项存在,它们编译得很好。该项目用于 prod 环境并每天编译。 Visual Studio 2010 发生了一些变化。

标签: c# visual-studio-2010


【解决方案1】:

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

【讨论】:

  • 谢谢。那么可能是什么问题?这个转换向导正在做一些项目,它不再编译了。
  • @user236215:听起来你现在遇到了一个不同的问题,它与升级过程几乎没有关系。我认为最好分开问。
【解决方案2】:

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

【讨论】:

  • 没有我们所有的程序集。没有任何系统组件。这些程序集也作为依赖项存在于同一解决方案中
  • 嗯嗯,你是从哪个vs版本和fwk版本迁移到的?
  • 我不想迁移任何东西。我只想在我的 Visual Studio 2010 中进行一些编辑。保持其他一切不变。没有元文件更改
  • 但是你之前用的是什么?
  • 虽然我确实必须添加一个新的引用,但不涉及迁移。
【解决方案3】:

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

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

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

【讨论】:

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