防止控制台应用程序(.NET Core)打印“代码为0退出”。在VS2019中


9

当我在Visual Studio社区2019(版本16.3.1)中使用Ctrl + F5(无需调试即可启动)启动控制台应用程序(.NET Core)时,以下消息将附加在控制台窗口的末尾:

C:\ HelloWorld \ bin \ Debug \ netcoreapp3.0 \ HelloWorld.exe(进程1672)退出,代码为0。

using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

控制台输出

有什么方法可以防止Visual Studio 2019打印此消息?我尝试通过更改以下选项来防止该解决方案出现在“输出”窗口中,该选项包括:“工具”>“选项”>“调试”>“输出”窗口>“进程退出消息” =“关闭”,但是在控制台窗口中无效。

Visual Studio选项

注意:此消息不会在Visual Studio 2017中显示。它只会在Visual Studio 2019中显示,并且仅在.NET Core应用程序中显示。


它的社区精神。不管怎么说,这可能是一个错误
迈克尔·兰德尔

1
如果您确定即使在新安装的Visual Studio 2019实例上也会发生这种情况,我会在论坛上创建一个问题。您可以通过点击做到这一点Help > Send Feedback > Report a Problem
二十

1
@二十我几天前用最新版本更新了Visual Studio。我不记得更新之前是否一样,因为我使用的是VS2017。我不确定这是问题还是功能。它可以在选项中的某个位置进行配置。
Theodor Zoulias

为什么这是个问题?Ctrl-F5用于测试(知道退出代码对于有意义的反馈很有帮助)。控制台应用程序的任何实际用途都不会来自VS。
理查德

3
对于VS2019,这是功能而非错误。它解决了编写小型控制台模式应用程序的程序员的28年抱怨,他们总是忘记添加“按任意键继续”代码或在main末尾设置断点。因此,他们无法阅读程序的输出,因此在SO和论坛上也看不到很多问题。在VS2019中,控制台窗口不再关闭。并忠实地报告程序已结束。这是一个纯粹的调试器功能,正常运行该程序时不会看到此功能。
汉斯·帕桑

Answers:


5

您可以通过选中以下Tools > Options > Debugging > General > Automatically close the console when debugging stops选项来禁用它:

Visual Studio 2019选项

如控制台本身所述(Visual Studio 2019 v16.3.2):

控制台应用

这将使控制台仅Press any key to continue...通过启动而无需调试(CTRL+ F5)即可打印,而不是退出代码(仍然使控制台处于打开状态):

没有退出代码


啊!很高兴找到伊万!非常感谢!😃
特奥多尔·Zoulias
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.