Aplicativo do console fecha imediatamente após a abertura no visual studio

Eu estou tentando abrir um aplicativo de console no visual studio construído em c #. Assim que abro, fecha imediatamente.

Eu sei que o Windows define este é um padrão de segurança (pelo menos eu acho). Como faço para corrigir isso?

Eu sei que posso compilá-lo e criar um atalho e modificar o destino para que ele tenha o local do prompt de comando nele antes do local dos aplicativos. Embora o programador que criou isso tenha gerado informações na saída do visual studio, é imperativo que eu apenas o abra lá.

Isso acontece com a maioria dos aplicativos e não apenas no visual studio, só que neste caso eu preciso abrir no VS 2010. Estou usando o Windows 7.

Este é um problema antigo e inspirou vários desenhos animados engraçados:

insira a descrição da imagem aqui

Vamos consertar. O que você deseja fazer é solicitar ao usuário que pressione a tecla Qualquer quando o aplicativo de console for iniciado a partir de um atalho na área de trabalho, no Windows Explorer ou no Visual Studio. Mas não quando foi iniciado a partir do processador de comandos executando seu próprio console. Você pode fazer isso com um pouco de pinvoke, você pode descobrir se o processo é o único dono da janela do console, assim:

using System; class Program { static void Main(string[] args) { Console.WriteLine("Working on it..."); //... Console.WriteLine("Done"); PressAnyKey(); } private static void PressAnyKey() { if (GetConsoleProcessList(new int[2], 2) <= 1) { Console.Write("Press any key to continue"); Console.ReadKey(); } } [System.Runtime.InteropServices.DllImport("kernel32.dll")] private static extern int GetConsoleProcessList(int[] buffer, int size); } 

Você também pode executar o aplicativo pressionando (Ctrl + F5) .. Isso permitirá que ele seja executado no modo ‘Release’ e, por padrão, será necessário pressionar ‘return’ para fechar a janela.

Tente adicionar Console.ReadKey(); no final do método Main (). Esta é uma maneira rápida e suja de parar a janela de fechar sozinha.

Você precisa aguardar a input do usuário. Use Console.ReadLine() , Console.Read() ou Console.ReadKey() .