【问题标题】:Devenv ProjectConfig switch - Win32 and x64Devenv ProjectConfig 开关 - Win32 和 x64
【发布时间】:2012-09-12 05:35:37
【问题描述】:

以交互方式运行 Visual Studio 2008,我可以成功地为 x64 和 Win32 目标构建项目。但是,如果我调用 devenv,不管我的 /projectconfig 参数如何,它总是执行 x64 构建:

devenv /Rebuild Release MySolution.sln /projectconfig "Release|Win32"

Microsoft (R) Visual Studio Version 9.0.21022.8.
Copyright (C) Microsoft Corp. All rights reserved.
------ Rebuild All started: Project: my-project, Configuration: Release x64 ------

请注意,/projectconfig 参数与 Configuration: 输出不匹配。我错过了一些简单的东西吗?它在 IDE 中运行良好,但有很多目标,我更喜欢编写脚本。

提前致谢!

【问题讨论】:

    标签: visual-studio visual-studio-2008


    【解决方案1】:

    我不确定为什么会发生这种情况,但它适用于以下情况吗?

    devenv /Rebuild "Release|Win32" MySolution.sln 
    

    或者,使用msbuild

    msbuild MySolution.sln /p:Configuration=Release;Platform=Win32 /t:proj:Rebuild
    

    【讨论】:

    • 嗯,是的,这两个都有效,除了 proj 不能是一个动作,比如“重建”(所以它只适用于 /t:rebuild)。实际上,我从未使用过 msbuild,但我已经比 devenv 更喜欢它。再次感谢!
    • msbuild 可以使用的目标的语法有点难以发现,但你应该会发现它留下了一个文件mysolution.sln.cache——这是 msbuild 自己的项目文件。在那里,您将找到它为您的项目生成的目标名称列表。有一个整体的“重建”目标,但也有一个每个项目的“项目:重建”。 msbuild 的另一个好处是,如果您升级到 VS2010,那么您将免费获得更好的并行构建。
    • 是的,我终于注意到我可以指定一个项目,但无论如何我都在尝试重建所有项目。我在使用多线程构建功能时也遇到了内存问题,但我现在卡在 VS2008 上,使用单个 CPU 似乎工作正常。再次感谢!
    【解决方案2】:

    使用 Visual Studio 2019 在命令行中使用 devenv.exe 构建 .NET 5 解决方案:

    C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.com SolutionName.sln /build "Release|x86" /project Project /projectconfig Release
    

    仍然不影响构建配置并使用 Any CPU 而不是 x86

    14:08:42      [exec] 80>------ Build started: Project: Project, Configuration: Release Any CPU ------
    

    在深入研究 Project.csproj(注意这是 .NET 5 项目文件格式)文件后,我发现了这个:

    <Platforms>AnyCPU;x86;x64</Platforms>
    

    实验性更改平台顺序为:

    <Platforms>x86;AnyCPU;x64</Platforms>
    

    它成功了:

    15:27:30      [exec] 80>------ Build started: Project: Project, Configuration: Release x86 ------
    

    希望这对现在使用 devenv.com 进行组装的人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      相关资源
      最近更新 更多