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 失败了。

4

1 回答 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;
于 2013-06-07T21:33:10.373 回答