小编典典

如何为 MSBuild 指定平台?

all

我正在尝试使用 MSBuild 构建具有指定目标平台的解决方案(我需要二进制文件,x86 和 x64)。这就是我尝试的方式:

C:\WINDOWS\Microsoft.NET\Framework\v3.5>MsBuild SolutionPath\Solution.sln /t:Rebuild /p:Configuration=Release /p:Platform="x86"

但是,如果平台与“任何 CPU”不同,则构建总是失败。我究竟做错了什么?

这是 MSBuild 打印的 while 输出:

C:\WINDOWS\Microsoft.NET\Framework\v3.5>MsBuild SolutionPath\Solution.sln
/t:Rebuild /p:Configuration=Release /p:Platform=”x86” Microsoft (R) Build
Engine Version 3.5.30729.1 [ Microsoft .NET Framework,版本 2.0.50727.3082]
版权所有 (C) Microsoft Corporation 2007。保留所有权利。

构建开始于 1.7.2010 8:28:10。节点 0 上的项目“SolutionPath\Solution.sln”(重建目标
t(s))。SolutionPath\Solution.sln:错误
MSB4126:指定的解决方案配置“Release|x86”无效。请使用配置和平台属性(例如 MSBuild.exe Solution.sln
/p:Configuration=Debug /p:Platform=”Any
CPU”)指定有效的解决方案配置,或将这些属性留空以使用默认解决方案配置。完成构建项目“SolutionPath\Solution.sln”(重建目标)——失败。

构建失败。

“SolutionPath\Solution.sln”(重建目标)(1)->(ValidateSolutionConfiguration
目标)->SolutionPath\Solution.sln:错误 MSB4126:指定的解决方案配置“Release|x86”无效。请使用
Configuration 和 Platform 属性(例如 MSBuild.exe Solution.sln
/p:Configuration=Debug /p:Platform=”Any
CPU”)指定有效的解决方案配置,或将这些属性留空以使用默认解决方案配置。

0 Warning(s)
1 Error(s)

经过时间 00:00:00.03

如果我尝试使用 devenv 为 x86/x64 构建它,它可以完美运行,但是我试图在不安装所有必要版本的 Visual Studio
的情况下设置构建服务器。顺便说一句,如果有更好的免费工具(支持 .NET 框架 4),我很想听听。


阅读 83

收藏
2022-08-03

共1个答案

小编典典

如果您想为 x86x64 构建解决方案,则必须为这两个平台配置您的解决方案。实际上,您只有一个 Any CPU 配置。

如何检查项目的可用配置

要检查给定项目的可用配置,请打开项目文件(*.csproj例如)并查找PropertyGroup右侧的Condition.

如果你想在Release模式中构建x86,你的项目文件中必须有这样的东西:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
  ...
</PropertyGroup>

如何在 Visual Studio 中创建和编辑配置

配置管理器面板
(来源:microsoft.com

新解决方案平台按钮
(来源:msdn.com

新的解决方案平台面板
(来源:msdn.com

如何创建和编辑配置(在
MSDN 上)

2022-08-03