Evite que una aplicación de consola (.NET Core) imprima "salido con código 0". en VS2019

9

Cuando inicio una aplicación de consola (.NET Core) con Ctrl + F5 (Iniciar sin depurar) en Visual Studio Community 2019 (Versión 16.3.1), el siguiente mensaje se agrega en la ventana de la consola al final:

C: \ HelloWorld \ bin \ Debug \ netcoreapp3.0 \ HelloWorld.exe (proceso 1672) salió con el código 0.

using System;

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

Salida de la consola

¿Hay alguna forma de evitar que Visual Studio 2019 imprima este mensaje? Probé la solución para evitar que aparezca un mensaje similar en la Ventana de salida , cambiando la opción: Herramientas> Opciones> Depuración> Ventana de salida> Mensajes de salida de proceso = Desactivado, pero no tiene efecto en la Ventana de consola.

Opciones de Visual Studio

Nota: este mensaje no se muestra en Visual Studio 2017. Solo se muestra en Visual Studio 2019, y solo en aplicaciones .NET Core.

Theodor Zoulias
fuente
Es el espíritu comunitario. De todos modos, esto podría ser un error
Michael Randall
1
Si está seguro de que esto sucede incluso en una instancia recién instalada de Visual Studio 2019, crearía un problema en el foro. Puede hacer esto presionandoHelp > Send Feedback > Report a Problem
Twenty
1
@Twenty Actualicé Visual Studio con la última versión hace unos días. No recuerdo si fue lo mismo antes de la actualización, porque estaba trabajando con VS 2017. No estoy seguro de si es un problema o una característica. Puede ser configurable en algún lugar de las Opciones.
Theodor Zoulias el
¿Por qué es esto un problema? Ctrl-F5 es para pruebas (y conocer el código de salida es una respuesta útil cuando es importante). Cualquier uso real de una aplicación de consola no sería desde VS.
Richard
3
Para VS2019, esta es una característica, no un error. Aborda una queja de 28 años de los programadores que escriben pequeñas aplicaciones en modo consola, siempre olvidaron agregar el código "Presione cualquier tecla para continuar" o establecer un punto de interrupción al final de main. Por lo tanto, no pudieron leer el resultado de su programa, muchas preguntas al respecto en SO y los foros. En VS2019, la ventana de la consola ya no se cierra. Y obedientemente informa que el programa terminó. Esta es una función de depurador puro, no verá esto cuando ejecute el programa normalmente.
Hans Passant

Respuestas:

5

Puede deshabilitarlo marcando la Tools > Options > Debugging > General > Automatically close the console when debugging stopsopción:

Opciones de Visual Studio 2019

Como lo indica la consola misma (Visual Studio 2019 v16.3.2):

Aplicación de consola

Eso hará que la consola simplemente imprima Press any key to continue...comenzando sin depurar ( CTRL+ F5) y no el código de salida (todavía deja la consola abierta):

Sin código de salida

Ivan García Topete
fuente
Ahhh! ¡Buen hallazgo, Ivan! Muchas gracias! 😃
Theodor Zoulias