3

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

4

1 回答 1

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.");
}

将输出如下内容:

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:\>

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

于 2016-09-26T10:00:33.650 回答