【问题标题】:MSBuild ignores the desired configurationMSBuild 忽略所需的配置
【发布时间】:2021-01-01 20:34:49
【问题描述】:

我正在尝试从命令行(通过 PowerShell 脚本)构建 Visual Studio 2019 解决方案,我需要构建 2 个版本 - 一个用于 64 位,一个用于 32 位(通过脚本)。

我已从 Configuration Manager 将 x86 和 x64 平台添加到平台:

在项目属性中,我相应地设置了平台目标:

我正在使用以下命令行使用 MSBuild 进行构建:

& $msbuildPath ../MyApp.Desktop.sln -t:Rebuild -p:Configuration=Release /p:Platform=x86
& $msbuildPath ../MyApp.Desktop.sln -t:Rebuild -p:Configuration=Release /p:Platform=x64

但它似乎忽略了/p:Platform,因为我声明x86 或x64 并不重要,它始终构建在配置管理器中设置的“活动”平台。但是,如果我在平台中输入一个无效值(例如 x123),则构建将失败,因为它不存在。

我怎样才能使 MSBuild 使用声明的 /p:Platform 实际构建?

【问题讨论】:

    标签: visual-studio msbuild visual-studio-2019


    【解决方案1】:

    如果你构建你的 sln 文件,你应该改变解决方案平台而不是项目平台。

    请尝试以下步骤:

    1)首先,删除所有项目平台并为您的项目做一个清理。并且只保留平台Any CPU。

    2)为解决方案平台

    添加新的x64和x86平台

    3)关闭VS Instance,删除每个项目的bin和obj文件夹

    然后使用 /p:Platform=x64 or x86 运行您的 powershell。它在我身边运作良好。它可以毫无问题地返回x86 或x64 输出文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      相关资源
      最近更新 更多