我正在尝试在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会失败。