有谁知道如何从.NET可执行文件中获取返回代码?我编写了一个程序,它有一个返回int的静态main方法,当我从powershell运行它时,我似乎无法得到这个数字。这就是我目前所拥有的:
&$executable $params
exit $LASTEXITCODE
其中$executable
是可执行文件的路径,$params
是传递给可执行文件的参数。
但是,$LASTEXITCODE
始终为0.程序通过Log4Net控制台appender写入控制台,因此上面将输出通过管道传递给控制台。
有人可以帮忙吗?
答案 0 :(得分:2)
听起来像我的可执行文件没有返回退出代码(即Environment.Exit()
),而是输出结果代码(例如Console.Write()
)。
尝试类似:
$ReturnValue = &$executable $params
Exit $ReturnValue
答案 1 :(得分:1)
(Start-Process -FilePath 'exe' -ArgumentList @() -PassThru -Wait).ExitCode
这将在执行完成后获取退出代码。您甚至可以将其分配给变量并根据需要访问流程成员。