MSBUILD:错误 MSB1008:在 TeamCity 中只能指定一个项目。

9

我正在尝试在TeamCity中运行MSBuild。

我有一个批处理文件,并向其中传递参数,构建可以正常工作。但当我尝试通过TeamCity运行时,会出现下面的错误:

[13:24:46][MSBuild output] Start MSBuild...

[13:24:46][MSBuild output] 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe' 
'"@C:\TeamCity\buildAgent\work\999585556854a516\Build\Default.msbuild.teamcity.msbuild.tcargs" C:\TeamCity\buildAgent\work\999585556854a516\Build\Default.msbuild.teamcity'

[13:24:46][MSBuild output] working dir = 'C:\TeamCity\buildAgent\work\999585556854a516'

[13:24:46][MSBuild output] Microsoft (R) Build Engine Version 4.0.30319.1

[13:24:46][MSBuild output] [Microsoft .NET Framework, Version 4.0.30319.296]

[13:24:46][MSBuild output] Copyright (C) Microsoft Corporation 2007. All rights reserved.

[13:24:46][MSBuild output]

[13:24:46][MSBuild output] MSBUILD : error MSB1008: Only one project can be specified.

[13:24:46][MSBuild output] Switch: C:\TeamCity\buildAgent\work\999585556854a516\Build\Default.msbuild.teamcity

[13:24:46][MSBuild output]

[13:24:46][MSBuild output] For switch syntax, type "MSBuild /help"

在TeamCity中,我的命令行参数字段看起来像这样: Configuration=Debug;DeployPath=E:\websites\umbraco\mysite;Environment=Dev; 我在StackOverflow上搜索了一下,发现类似问题的人都提到要确保命令行参数中没有空格,而我的sln和proj文件/页面也没有空格。
正如我所说,当我使用这些参数运行批处理文件时,一切都能正常工作,但是,TeamCity会失败。

你能否请发布那个批处理文件的内容。另外,你是否找到了你发帖的解决方案? - Nevin Raj Victor
1个回答

12

我已经成功在命令行中重现了这个错误:显然,Default.msbuild.teamcity.msbuild.tcargs文件内容需要是:

/p:Configuration=Debug;DeployPath=E:\websites\umbraco\mysite;Environment=Dev;

与其:

Configuration=Debug;DeployPath=E:\websites\umbraco\mysite;Environment=Dev;

Pedro,非常感谢您的回复,一切都解决了,我必须去掉最后一个分号。我已经苦苦挣扎了好几天。 - Ismail
我没有在文件中找到这个,但是我刚刚在MsBuild构建步骤中更改了命令行参数,然后它就起作用了... - veljkoz
@Pedro Pombeiro:我尝试了MSBuild.exe C:\BuildAgent\work\4c7b8ac8bc7d723e\WebService.sln /p:Configuration=Release /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MsDeployServiceUrl=https://204.158.674.5/msdeploy.axd /p:username=Admin /p:password=Password#321 /p:AllowUntrustedCertificate=True /p:DeployIisAppPath=Default WebSite/New /p:MSDeployPublishMethod=WMSVC。但是它给了我一个错误MSBUILD:error MSB1008:只能指定一个项目。开关:WebSite/New。可能是什么问题? - Nevin Raj Victor
@NevinRaj:你可以尝试在参数值周围添加逗号吗?(即/p:DeployIisAppPath="Default WebSite/New" - Pedro Pombeiro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接