gpt4 book ai didi

c# - CMD 上未返回 ExitCode

转载 作者:行者123 更新时间:2023-11-30 16:04:55 25 4
gpt4 key购买 nike

我目前正在开发一个 WPF 应用程序,该应用程序提供可在 Windows 事件日志 中找到的 ExitCode

在某些情况下,我需要立即取消执行。因此我使用 Environment.Exit(someInteger)。还需要通过批处理启动它并检查 ErrorLevel 是否为 NOT 0


通过 VisualStudio OutputConsole 输出:

 The program '[6908] MyApp.vshost.exe: Program Trace' has exited with code 0 (0x0).
The program '[6908] MyApp.vshost.exe' has exited with code 3 (0x3).

CMD 输出:

cd MyVisualStudioDebugDir
MyApp.exe
echo %errorlevel%
=> returns 0

为什么我调用时在这里得到 0 Environment.Exit(3)

最佳答案

我不是 100% 确定,但这可能与您在脚本中调用 EXE 的方式有关。为了模拟您的情况,我创建了一个简单的 WPF 应用程序,它通过 Environment.Exit(3); 立即退出,然后是一个简单的 test.cmd 脚本:

@echo off

start /wait TestApp.exe
echo %ERRORLEVEL%

回显的实际上是 3

更新:我注意到如果在没有/wait 选项的情况下使用start,则错误设置不正确。我相信这是因为 start 不会等待应用程序退出才继续。因此,您可以使用 start/wait TestApp.exe 或简单地 call TestApp.exe。我已经更新了上面的例子。

关于c# - CMD 上未返回 ExitCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34315475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com