【问题标题】:Prevent a Console App (.NET Core) from printing "exited with code 0." in VS2019防止控制台应用程序 (.NET Core) 打印“以代码 0 退出”。在 VS2019 中
【发布时间】:2020-01-30 09:57:31
【问题描述】:

当我在 Visual Studio Community 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 打印此消息?我尝试了preventing a similar message from appearing in the Output Window 的解决方案,方法是更改​​选项:工具 > 选项 > 调试 > 输出窗口 > 进程退出消息 = 关闭,但在控制台窗口中没有效果。

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

【问题讨论】:

  • 它的社区精神。无论如何,这可能是一个错误
  • 如果您确定即使在新安装的 Visual Studio 2019 实例上也会发生这种情况,我会在论坛上创建一个问题。你可以通过点击Help > Send Feedback > Report a Problem
  • @Twenty 几天前我用最新版本更新了 Visual Studio。我不记得更新前是否相同,因为我正在使用 VS 2017。我不确定这是问题还是功能。它可以在选项中的某处进行配置。
  • 为什么会出现这个问题? Ctrl-F5 用于测试(知道退出代码在重要时是有用的反馈)。控制台应用程序的任何实际使用都不会来自 VS。
  • 对于 VS2019,这是功能,而不是错误。它解决了编写小型控制台模式应用程序的程序员 28 年的抱怨,他们总是忘记添加“按任意键继续”代码或在 main 末尾设置断点。所以他们无法阅读他们程序的输出,在 SO 和论坛上有很多关于它的问题。在 VS2019 中,控制台窗口不再关闭。并尽职尽责地报告该计划已结束。这是一个纯调试器功能,正常运行程序是看不到的。

标签: c# .net-core visual-studio-2019


【解决方案1】:

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

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

这将使控制台只打印Press any key to continue...,无需调试(CTRL + F5)而不是退出代码(仍然保持控制台打开):

【讨论】:

  • 啊!很高兴找到伊万!太感谢了! ?
猜你喜欢
  • 2016-08-29
  • 2013-08-04
  • 2010-09-14
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-10
  • 2016-12-08
相关资源
最近更新 更多