MSBuild 忽略所需的配置
MSBuild ignores the desired configuration
我正在尝试从命令行构建一个 Visual Studio 2019 解决方案(通过 PowerShell 脚本),我需要 2 个构建 - 一个用于 64 位,一个用于 32 位,通过脚本.
我从配置管理器向平台添加了 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
?
如果您构建 sln 文件,您应该更改 解决方案平台 而不是 项目平台。
请尝试以下步骤:
1) 首先,删除每个项目平台,并为您的 project.And 做一个清理,只保留平台 Any CPU
.
2) 为 解决方案平台[=21= 添加新的 x64
和 x86
平台]
3)关闭VS实例,删除每个项目的bin
和obj
文件夹
然后 运行 你的 powershell /p:Platform=x64 or x86
。它在我身边运作良好。它可以 return x86
或 x64
输出文件没有任何问题。
我正在尝试从命令行构建一个 Visual Studio 2019 解决方案(通过 PowerShell 脚本),我需要 2 个构建 - 一个用于 64 位,一个用于 32 位,通过脚本.
我从配置管理器向平台添加了 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
?
如果您构建 sln 文件,您应该更改 解决方案平台 而不是 项目平台。
请尝试以下步骤:
1) 首先,删除每个项目平台,并为您的 project.And 做一个清理,只保留平台 Any CPU
.
2) 为 解决方案平台[=21= 添加新的 x64
和 x86
平台]
3)关闭VS实例,删除每个项目的bin
和obj
文件夹
然后 运行 你的 powershell /p:Platform=x64 or x86
。它在我身边运作良好。它可以 return x86
或 x64
输出文件没有任何问题。