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