当我开发 C# 控制台应用程序(将在服务器上运行)并使用 Visual Studio 运行它时,我在程序终止前收到“按任意键继续”消息。
但是,当我使用 CSC 手动编译完全相同的 C# 代码文件时,我的程序没有显示该消息并且它在完成其逻辑后立即终止。
有谁知道我如何在不使用 VS 且不更改 C# 代码或添加 ReadLine() 的情况下编译代码时实现相同的功能?
更新:我学习 C# 时曾出现过相同的消息,我曾经将 TextPad 与 CSC 一起使用,并且该消息过去常常在不添加任何 Write(Line)/Read(Line) 调用的情况下出现
最佳答案
这与编译器无关 - 如果您按 F5 调试它而不是 Ctrl-F5 不调试运行,则 VS 不会显示提示.这大概是为了让您不会错过它产生的任何输出。
为此,Visual Studio 运行 cmd.exe 告诉它运行您的可执行文件然后暂停:
"C:\WINDOWS\system32\cmd.exe" /c ""...\ConsoleApplication1.exe" & pause"
当您调试时它可能不会这样做,因为获取子进程的子进程的进程 ID 有点困难。
要向您的程序添加类似的选项,可以使用命令行开关告诉应用程序本身暂停,或者使用批处理文件运行它然后暂停,或者使用它们的快捷方式 cmd.exe/c
.
关于c# - VS 如何编译控制台应用程序以显示 "Press any key to continue"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1103402/