Запретить консольному приложению (.NET Core) печатать «с кодом 0» в VS2019

9

Когда я запускаю консольное приложение (.NET Core) с помощью Ctrl + F5 (запуск без отладки) в Visual Studio Community 2019 (версия 16.3.1), в конце окна консоли добавляется следующее сообщение:

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
Twenty
1
@ Двадцать дней назад я обновил Visual Studio до последней версии. Я не помню, было ли то же самое до обновления, потому что я работал с VS 2017. Я не уверен, является ли это проблемой или функцией. Это может быть настроено где-то в настройках.
Теодор Зулиас
Почему это проблема? Ctrl-F5 предназначен для тестирования (и знание кода завершения полезно, если оно важно). Любое реальное использование консольного приложения не было бы внутри VS.
Ричард
3
Для VS2019 это особенность, а не ошибка. Он направлен на жалобу 28-летних программистов, которые пишут небольшие приложения в консольном режиме, они всегда забывают добавить код «Нажмите любую клавишу, чтобы продолжить» или установить точку останова в конце main. Поэтому они не могли прочитать результаты своей программы, много вопросов об этом в SO и на форумах. В VS2019 окно консоли больше не закрывается. И покорно сообщает, что программа закончилась. Это чистая функция отладчика, вы не увидите этого при нормальном запуске программы.
Ганс

Ответы:

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), а не кода выхода (по-прежнему оставляя консоль открытой):

Нет кода выхода

Иван Гарсия Топете
источник
Ааа! Приятно найти Ивана! Спасибо огромное! The
Теодор Зулиас