テスト用のカスタムNAntタスクがあり、タスクが失敗した場合はNAntビルドプロセスをキャンセルしたいと思います。カスタムErrorTaskを作成しました:
[NAnt.Core.Attributes.TaskName("errorTask")]
public class ErrorTask : NAnt.Core.Task
{
public ErrorTask()
{
FailOnError = true;
}
protected override void ExecuteTask()
{
Log(NAnt.Core.Level.Error, "Error!");
}
}
これが私がNAntビルドファイルに持っているものです:
<target name="errorTarget">
<errorTask failonerror="true" />
<errorTask failonerror="true" />
</target>
結果(build.log)には次のものがあります。
errorTarget:
[errorTask] Error!
[errorTask] Error!
BUILD SUCCEEDED - 2 non-fatal error(s), 0 warning(s)
Total time: 0 seconds.
したがって、2番目のタスクも実行されていることがわかりますが、最初の呼び出しで「エラー!」が返されるため、キャンセルしたいと思います。修正を手伝ってもらえますか?
また、FailOnError値をハードコーディングする必要はなく、ビルドスクリプトでfailonerror属性を使用するだけで十分であると思いますが、どのような場合でも機能しません。
ありがとうございました。