首页 > 解决方案 > MSBuild 忽略所需的配置

问题描述

我正在尝试从命令行(通过 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并不重要。但是,如果我在平台中输入一个无效值(例如 x123),则构建将失败,因为它不存在。x86x64

我怎样才能使 MSBuild 真正按照所述构建/p:Platform

标签: visual-studiomsbuildvisual-studio-2019

解决方案


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

请尝试以下步骤:

1)首先,删除每个项目平台并为您的项目进行清理。并且只保留平台Any CPU

在此处输入图像描述

2)解决方案平台添加新的x64和平台x86

在此处输入图像描述

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

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

在此处输入图像描述


推荐阅读