Я просто написал умную программу под названием helloworld. Это консольное приложение С#/.NET 4.5. Внутри скрученных вложенных лабиринтов логики используется Console.WriteLine().
Когда я запускаю это в командной строке, он запускается, и я вижу результат. Я могу выполнять другие команды и немного путаться, а затем прокручивать вверх, чтобы снова увидеть результат.
Теперь я в Visual Studio, настройка источника ("Привет" более эффективна, чем "Привет") и тестирования, нажав F5. Случается, что окно консоли появляется и сразу исчезает. Я понятия не имею, что напечатала программа. Как я могу увидеть результат?
Я не хочу изменять свой источник вообще. После поиска решений я нахожу тех, кто говорит, что использует Console.ReadKey(), но потом он сосать, чтобы использовать программу в командной строке. Нет реальной причины, по которой пользователь должен будет нажать клавишу, когда программа уже выполнила свою работу. Даже если я пойду с этим, проблема с выходом исчезает, когда окно консоли закрывается после нажатия клавиши.
Я не хочу использовать Debug.WriteLine(), который записывает в окно вывода в VS, но не пишет обычный вывод для конечного пользователя.
Я обнаружил ctrl-F5, который запускает программу, как если бы у нее была конечная строка Console.ReadKey(), но по-прежнему возникает проблема, когда я нажимаю любую клавишу, все выходные данные исчезают вместе с окном. Через три минуты я думаю: "О, подожди, напечатал ли он" Привет "или" Хело "? Нет возможности проверить.
Похоже, что среда разработки Visual Studio должна каким-то образом захватить все, что только что созданная программа запишет в ее стандартную версию или эквивалент Microsoft, и показать ее на панели "Выход" или на какой-либо панели для последующего анализа. Может быть, он это делает, и я еще не знаю трюк? Похоже, это было бы общим желанием среди миллионов разработчиков С#.
Причина, по которой он автоматически закрывается, заключается в том, что она запускала программу. Если вы хотите посмотреть, что он сделал, сделайте для него нужную команду, например, нажав любую клавишу. Console.ReadKey(); приостанавливает его и ждет, пока пользователь ударит ключ, чтобы продолжить. Поместите эту команду после команд инструкции, которые вы делаете, и она приостанавливает ее, пока вы не нажмете любую клавишу.
Console.ReadKey(); // Пауза, пока вы не нажмете любую клавишу
Некоторые параметры: 1. wrap #if DEBUG вокруг Console.ReadKey() 2. запускается непосредственно из открытого терминала 3. создайте тестовый проект, но вам снова понадобится Console.ReadKey(), чтобы остановить его закрытие.
Вы также можете запустить свою программу, нажав F10 (выполняется одна строка за одной), а F11 (входит в функцию).
Другой вариант, который у вас есть, - установить контрольные точки в Visual Studion и запустить программу, нажав F5 - она остановится на следующей точке останова. А точки останова могут иметь условия - то есть условные точки останова.