如何执行基于退出代码的任意可执行文件和失败的Cake构建?

3 c# process cakebuild

我如何在我的Cake构建脚本中运行任意可执行文件并检查该程序的退出代码?如果它没有返回给定的退出代码,那么我希望构建失败。

dev*_*ead 6

这是使用int StartProcess(FilePath fileName)别名实现的。

例:

int pingLocalResult = StartProcess("ping", "-n 1 127.0.0.1");

if (pingLocalResult != 0)
{
    throw new Exception("Ping 127.0.0.1 failed.");
}

int pingZeroResult = StartProcess("ping", "-n 1 0");
if (pingZeroResult != 0)
{
    throw new Exception("Ping 0 failed.");
}
Run Code Online (Sandbox Code Playgroud)

将输出类似:

C:\> cake .\startprocess.cake

Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Pinging 0.0.0.0 with 32 bytes of data:
PING: transmit failed. General failure.

Ping statistics for 0.0.0.0:
    Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),
Error: Ping 0 failed.
C:\>
Run Code Online (Sandbox Code Playgroud)

哪里throw new Exception("Ping 0 failed.");会中断/中止构建。