将MSBuild exec任务超时视为错误

Erg*_*wun 3 msbuild

我正在为MSBuild Exec任务指定超时,如下所示:

<Exec Command="MyCommand.bat" Timeout="3000" />
Run Code Online (Sandbox Code Playgroud)

如果我的命令超时,MSBuild将发出警告。我希望它改为发出使构建失败的错误。我该如何实现?

KMo*_*raz 5

使用OnError元素和Error Task

<Target Name="ExecCommand">
        <Exec Command="MyCommand.bat" Timeout="3000" />
    <OnError ExecuteTargets="TimeoutErrorHandler"/>
</Target>

<Target Name="TimeoutErrorHandler">
    <Error Text="Command timeout"/>
</Target>
Run Code Online (Sandbox Code Playgroud)