我有一个MSBuild构建文件,可以在我的本地开发框上正确运行但在我们的CI构建框上失败。
失败的构建目标如下:
<Target Name="Clean">
<MSBuild Projects="Solution.sln" Targets="Clean" BuildInParallel="True"/>
</Target>
构建框上的错误是这样的:
"E:\TRUNK\build\Bamboo.build" (Build target) (1) ->
25-Oct-2011 10:22:51 (Clean target) ->
25-Oct-2011 10:22:51 E:\TRUNK\build\build.build(19,55): error MSB4064: The "BuildInParallel" parameter is not supported by the "MSBuild" task. Verify the parameter exists on the task, and it is a settable public instance property.
25-Oct-2011 10:22:51 E:\TRUNK\build\build.build(19,5): error MSB4063: The "MSBuild" task could not be initialized with its input parameters.
两台机器都报告了MSBuild版本4.0.30319.1
Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.237]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
4.0.30319.1
我的本地邮箱是Windows 7 x64,安装了.Net Framework 4和Windows SDK 7.1,并且有8个内核。
CI框是Windows Server 2008 x64,并且还安装了.Net Framework 4和Windows SDK 7.1,并且有8个内核。
任何想法可能导致这个问题的区别是什么?
答案 0 :(得分:6)
检查MSBuild项目根标记中的ToolsVersion。值应为“3.5”或“4.0”,因为v3.5支持BuildInParallel。
<Project ToolsVersion="3.5" .../>