首页 > 解决方案 > 混合 Winforms/控制台应用程序正确终止,但必须按“Enter”才能恢复控制台提示

问题描述

我有一个混合应用程序,它基本上只在从命令提示符启动时显示可用的命令行修饰符。然后没有涉及或初始化的 Windows 应用程序代码。如果从命令行开始,我会尝试附加控制台以通过 Console.Writeline 查看输出。我现在有一个“--help”命令,它只打印出可用的命令,然后退出应用程序。在这个阶段基本上没有任何来自 WinForm 应用程序的内容被执行或初始化。控制台的输出工作正常,但进程终止,如 ProcMon 所示,但我必须按“Enter”才能返回命令行提示符。我使用“FreeConsole”、Environment.Exit、Application.Exit 或简单的直接“return Exitcode”,但它仍在等待“Enter” char 直到提示返回。我很确定该进程已终止,因为我可以在 ProcMon 中看到终止。这种行为的原因是什么?我还使用了 log4net ColoredConsoleAppender,其输出可以看到,但我同时将其从配置中删除,以免在此处产生干扰。这也没有改变所描述的行为。

标签: c#.netlog4net

解决方案


推荐阅读