Почему при открытии exe-файла код не работает, хотя в терминале vs 2022 всё нормально?

Рейтинг: 0Ответов: 2Опубликовано: 26.08.2023

Пытаюсь открыть файл .exe с C# проектом консольного приложения,но оно мгновенно открывается и закрывается. Код должен просто вывести переменную и всё. Что делать в таком случае? Причём в терминале vs 2022 всё работает.

Код:

string name = "саша";
Console.WriteLine(name);

Ответы

▲ 3Принят

Переменную-то ваше приложение вывело, но вот вы этого не увидели, потому что сразу после этого приложение завершило свою работу.

Консоль в VS ожидает по завершению работы приложения нажатия любой кнопки. В приложении это нужно делать самостоятельно. Добавьте в конце Console.ReadKey();

▲ 2

Альтернативный вариант:

Приложение консольное, ну так и запустите его не двойным кликом, а по честному. Запустите консоль (cmd.exe), перейдите в папку с файлом вашего приложения и вызовите его явно по имени. Можно не переходить в папку приложения, а просто указать полный путь к файлу и вызвать откуда угодно.

В этом случае окно консоли будет принадлежать cmd.exe, а не вашему приложению и оно не закроется автоматически, как в случае с запуском приложения двойным кликом, а будет ждать дальнейших команд от вас. Собственно именно так и поступает студия, когда запускает приложение по кнопке run, только студия делает это все "за кадром".

Данный вариант более предпочтителен, чем явная постановка приложения на пазу путем добавлением подтверждения завершения работы пользователем, т.к. подтверждение не всегда уместно и в случае более сложного приложения, позволит увидеть причину незапланированного "вылета", если забыли обработать какую-то исключительную ситуацию например.