Jenkins错误:MSB1008:只能指定一个项目

4
我使用的是Jenkins 1.500版本。我只想构建我的asp.net项目,但是我收到了以下消息:
Path To MSBuild.exe: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe
Executing the command cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe %WORKSPACE%\trunk\src\GoldFingers.Uk.sln && exit %%ERRORLEVEL%% from C:\Program Files (x86)\Jenkins\jobs\GoldFingers-Build\workspace
[workspace] $ cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe %WORKSPACE%\trunk\src\GoldFingers.Uk.sln && exit %%ERRORLEVEL%%
Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

MSBUILD : error MSB1008: Only one project can be specified.
Switch: Files

For switch syntax, type "MSBuild /help"
Build step 'Build a Visual Studio project or solution using MSBuild' marked build as failure
Finished: FAILURE

你知道为什么会失败吗?也许是因为旧版本的Jenkins?请帮忙。

1个回答

4
似乎是因为您的% WORKSPACE%值中有空格(C:\Program Files(x86)\Jenkins\jobs\GoldFingers-Build\workspace),将其分成2个参数。
您需要将作业的工作区移动到不会有空格的位置。 您可以执行以下操作之一:
  • 将整个Jenkins安装移到“Program Files”之外
  • 或者,在项目配置页面下,单击高级...按钮,在高级项目选项下使用自定义工作区

或者,更新您的MSBuild插件。 根据插件维基页面,1.19版本修复了以下问题:

传递具有空格的版本配置


1
更好的方法是用双引号将路径括起来(但注意要排除尾随的反斜杠:https://dev59.com/V2865IYBdhLWcg3whO3E#13873241)。 - Masood Khaari
同样重要的是,作业名称不应包含空格,因为它是用于创建“作业”文件夹的相同名称。如果作业名称为“Test Jenkinks 1.0”,Jenkins将创建一个名为“Test Jenkinks 1.0”的带有空格的文件夹。 - Carlos

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