Tfs Msbuild忽略continueonerror?

Tfs Msbuild忽略continueonerror?,tfs,msbuild,Tfs,Msbuild,我尝试两次为几个项目调用MSbuild。第一次没有任何清理,但如果失败,我将调用一个清理,然后是一个新的构建。(原因是我希望我的构建速度更快,但如果失败,则返回到清理、恢复nuget包构建等等)。这是可行的,但是如果第一次调用失败,构建仍然会失败(continueonerror设置为true,所以我不希望它失败…)。以下是生成文件的相关部分: 假的 真的 适用于任何有这种奇怪错误的人。似乎在TFS构建服务器内部运行构建时,构建服务器会解析日志输出,并且即使使用ContinueOnError设置

我尝试两次为几个项目调用MSbuild。第一次没有任何清理,但如果失败,我将调用一个清理,然后是一个新的构建。(原因是我希望我的构建速度更快,但如果失败,则返回到清理、恢复nuget包构建等等)。这是可行的,但是如果第一次调用失败,构建仍然会失败(continueonerror设置为true,所以我不希望它失败…)。以下是生成文件的相关部分:


假的
真的

适用于任何有这种奇怪错误的人。似乎在TFS构建服务器内部运行构建时,构建服务器会解析日志输出,并且即使使用ContinueOnError设置,构建也会失败。我的解决方法是

基本上,使用Exec生成一个新的MSBuild,并确保它没有使用
/noconlog
而不是使用
Hmmm输出任何内容。似乎只是日志输出使它看起来失败了,只是在观察中添加了“构建服务器解析日志输出”的细节。具体而言,TFS生成过程中的MSBuild活动“如果记录了任何编译错误,则将CompliationStatus设置为Failed”()。可以修改生成过程模板,并在MSBuild活动运行后使用SetBuildProperties活动更改生成状态。(但在我的回答中,所有MSBuild方法要简单得多。)
<Error ContinueOnError="WarnAndContinue" />
<Message Importance="High" Text ="$(MSBuildLastTaskResult)" />
<!-- (Returns false) -->