F#fake build - 忽略MSBuildRelease中的错误

时间:2015-12-03 10:05:18

标签: f#-fake

我使用fake通过以下方式构建多个Visual Studio项目:MSBuildRelease buildDir "Build" appReferences。 如果所有项目编译没有错误一切正常,但当一个项目返回错误时,序列停止。 如何继续编译所有项目,即使有些项目可能会出错。

1 个答案:

答案 0 :(得分:0)

FAKE支持构建失败目标最终目标。如果后者的第一个和另一个目标失败,这些是一次性调用。它没有显示依赖关联。

http://fsharp.github.io/FAKE/specifictargets.html

然而,您可以使用 getAllTargetNames 获取所有目标,并使用 runSingleTarget 单独运行您想要的每个目标。 GetErrors 会返回一个可变列表,因此您检查上一个错误是否足够严重,然后记录它并停止或将新的空列表推入错误。看到代码:

  

让可变的私人错误= []

类似

  

GetErrors()< - []

可能允许您错误地跳过目标。您还可以将错误放在另一个父列表中,并在最后重新分配。这样您就可以发布激活构建失败目标 runBuildFailureTargets 和最终目标 runFinalTargets 来执行预期的处理。

https://github.com/fsharp/FAKE/blob/master/src/app/FakeLib/TargetHelper.fs