【问题标题】:MSBuild error when building projects for the first time首次构建项目时出现 MSBuild 错误
【发布时间】:2009-06-05 14:30:10
【问题描述】:

当我尝试在 IDE 中打开项目之前运行我的 MSBuild 脚本时,我收到此错误:

"工程文件必须在 Visual Studio IDE 并转换为 最新版本才可以 由 MSBuild 构建”

我收到此错误的原因是什么?

【问题讨论】:

标签: .net msbuild build-automation


【解决方案1】:

您的解决方案和/或项目文件是为一个版本的 Visual Studio 设置的,而 MSBuild 正在将它们构建为不同的版本。如果您查看解决方案文件,您将看到如下内容:

Microsoft Visual Studio 解决方案文件, 格式版本 10.00
# Visual Studio 2008

格式版本和 Visual Studio # 将根据您使用的是 VS2003、VS2005、VS2008 以及假设是 VS2010 的不同而有所不同。

在您启动构建的命令行上,它是从特定版本的 .NET 框架启动的:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild

【讨论】:

  • 我的 .proj 是用 vs 2005 编写的,我尝试从“v2.0.50727”框架路径运行 MSBuild 脚本。这里有什么问题吗?当我第一次在 IDE 中构建项目然后运行脚本时,错误消失了。
  • 您的 IDE 可能会为您更新项目或构建文件,而不会通知您该更改。
【解决方案2】:

如果您希望将此作为某个自动化过程的一部分,您可以在命令行中使用带有/Upgrade 开关的DevEnv.exe

【讨论】:

    【解决方案3】:

    我也遇到了同样的问题。

    我对每个 .csproj 文件都运行了 /upgrade,但它仍然存在。

    编辑:我已经解决了!

    • 我删除了所有 ASP.NET 临时文件
    • 我删除了项目文件夹中的虚假文件
    • 我在 ALL 项目文件上运行了“devenv myProject.csproj”。
    • 我手动删除了我的项目生成的所有 DLL
    • 我在 notepad++ 中打开了我的 .csproj 文件,包括已转换的和“未转换的反叛者”,然后比较它们并尝试手动进行转换(更改版本号等)

    有时它起作用了,我什至不知道为什么......(货物崇拜编程)

    【讨论】:

      【解决方案4】:

      我只是重新添加了引用,它起作用了。

      我的情况是我刚刚将一个 NET1.1 Web 应用程序迁移到 NET4。

      按原样,我尝试编译并显示此错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-02
        • 1970-01-01
        • 2019-02-03
        • 2011-11-02
        • 1970-01-01
        • 2019-01-27
        • 2019-08-18
        相关资源
        最近更新 更多