Impedir que um aplicativo de console (.NET Core) imprima "saiu com o código 0." no VS2019

9

Quando inicio um aplicativo de console (.NET Core) com Ctrl + F5 (Iniciar sem depuração) no Visual Studio Community 2019 (versão 16.3.1), a seguinte mensagem é anexada na janela do console no final:

C: \ HelloWorld \ bin \ Debug \ netcoreapp3.0 \ HelloWorld.exe (processo 1672) saiu com o código 0.

using System;

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

Saída do console

Existe alguma maneira de impedir que o Visual Studio 2019 imprima esta mensagem? Tentei a solução para impedir que uma mensagem semelhante aparecesse na Janela de Saída , alterando a opção: Ferramentas> Opções> Depuração> Janela de Saída> Mensagens de Saída do Processo = Desativadas, mas não tem efeito na Janela do Console.

Opções do Visual Studio

Nota: esta mensagem não é mostrada no Visual Studio 2017. É mostrada apenas no Visual Studio 2019 e apenas nos aplicativos .NET Core.

Theodor Zoulias
fonte
É o espírito da comunidade. De qualquer forma isso pode ser um bug
Michael Randall
11
Se você tem certeza de que isso acontece mesmo em uma instância recém-instalada do Visual Studio 2019, eu criaria um problema no fórum. Você pode fazer isso pressionando #Help > Send Feedback > Report a Problem
20/20
11
@ Twenty Atualizei o Visual Studio com a versão mais recente há alguns dias. Não me lembro se era o mesmo antes da atualização, porque estava trabalhando com o VS 2017. Não tenho certeza se é um problema ou um recurso. Pode ser configurável em algum lugar nas Opções.
Theodor Zoulias 01/10/19
Por que isso é um problema? Ctrl-F5 é para teste (e saber que o código de saída é um feedback útil quando é significativo). Qualquer uso real de um aplicativo de console não seria do VS.
Richard
3
Para o VS2019, esse é um recurso, não um bug. Ele aborda uma queixa de 28 anos de programadores que escrevem aplicativos pequenos no modo console, eles sempre se esquecem de adicionar o código "Pressione qualquer tecla para continuar" ou definir um ponto de interrupção no final do main. Portanto, eles não conseguiam ler a saída do programa, muitas perguntas sobre isso na SO e nos fóruns. No VS2019, a janela do console não fecha mais. E obedientemente relata que o programa terminou. Este é um recurso de depurador puro, você não verá isso quando executar o programa normalmente.
Hans Passant

Respostas:

5

Você pode desativá-lo, marcando a Tools > Options > Debugging > General > Automatically close the console when debugging stopsopção:

Opções do Visual Studio 2019

Conforme declarado pelo próprio console (Visual Studio 2019 v16.3.2):

Console App

Isso fará com que o console seja impresso Press any key to continue...iniciando sem depuração ( CTRL+ F5) e não o código de saída (ainda deixa o console aberto):

Nenhum código de saída

Ivan García Topete
fonte
Ahhh! Bom encontrar Ivan! Muito obrigado! The
Theodor Zoulias