首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何指定MSBuild的平台?

如何指定MSBuild的平台?
EN

Stack Overflow用户
提问于 2010-07-01 14:24:00
回答 7查看 239.7K关注 0票数 173

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

代码语言:javascript
复制
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“微软(R) Build Engine 3.5.30729.1版微软.NET框架,2.0.50727.3082版版权所有(C)微软公司2007。保留所有权利。

Build started 1.7.2010 8:28:10.节点0上的项目"SolutionPath\Solution.sln“(重建目标)。SolutionPath\Solution.sln :错误版本:指定的解决方案配置“MSB4126|x86”无效。请使用配置和平台属性(例如,MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform=“任何CPU")指定有效的解决方案配置,或将这些属性留空以使用默认解决方案配置。已完成生成项目"SolutionPath\Solution.sln“(重建目标) --失败。

生成失败。

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

0个警告1个错误

已用时间00:00:00.03

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

EN

回答 7

Stack Overflow用户

发布于 2015-03-28 06:38:41

在MSBuild或Teamcity中使用命令行

代码语言:javascript
复制
MSBuild yourproject.sln /property:Configuration=Release /property:Platform=x64

或者使用更短的形式:

代码语言:javascript
复制
MSBuild yourproject.sln /p:Configuration=Release /p:Platform=x64

然而,无论如何你都需要在你的项目中设置平台,请参阅Julien Hoarau的答案。

票数 253
EN

Stack Overflow用户

发布于 2014-03-11 00:13:35

如果您试图从命令行执行此操作,您可能会遇到一个问题,即为您设置了一个计算机范围的环境变量'Platform‘,并且该变量对您不利。如果我使用VS2012命令窗口而不是常规的windows命令窗口,我可以重现这一点。

在命令提示符处键入:

set平台

在VS2012命令窗口中,我有一个'X64‘的预设值。这似乎干扰了我的解决方案文件中的内容。

在常规的命令窗口中,'set‘命令会导致"variable not defined“message...which是好的。

如果上面的'set‘命令的结果没有返回任何环境变量值,那么您应该可以继续执行了。

票数 15
EN

Stack Overflow用户

发布于 2021-02-11 02:49:23

希望这能帮助到外面的人。

对于平台,我指定了"Any CPU",将其更改为"AnyCPU“,这样就解决了这个问题。

代码语言:javascript
复制
msbuild C:\Users\Project\Project.publishproj /p:Platform="AnyCPU"  /p:DeployOnBuild=true /p:PublishProfile=local /p:Configuration=Debug

如果您查看您的.csproj文件,您将看到要使用的正确平台名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3155492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档