#c# #console #visual-studio-2019 #message #.net-5
#c# #консоль #visual-studio-2019 #Сообщение #.net-5
Вопрос:
Часто при написании кода (графическое приложение WPF) возникает необходимость проверить, например, значение объекта и отобразить его на консоли. Пожалуйста, обратите внимание, что речь идет о режиме без отладки (CTRL F5). В режиме отладки для этого есть много инструментов, включая Debug.WriteLine () или трассировка.WriteLine () . Но отладка не требуется каждый раз, чаще в процессе написания необходимо запустить приложение без отладки и просто что-то проверить и отобразить в консоли.
Используя .NET Framework 4.8, я смог выбрать «консольное приложение» (Свойства — Приложение — Консольное приложение) и наслаждаться выводом чего-либо на консоль, используя старый добрый Concole.Строка записи. Однако я переключился на .NET 5 и, к своему удивлению, обнаружил, что не могу выбрать «консольное приложение» и отобразить интересующую меня информацию. Кроме того, сообщения не отображаются в окне вывода VS2019 в режиме без отладки (определена константа отладки).
Да, я знаю, что все эти возможности есть в режиме отладки (F5), но, опять же, я не всегда хочу запускать его для проверки состояния объекта. Каковы способы отображения технической информации на экране в режиме без отладки (CTRL F5) при использовании .NET 5 (в окне вывода или на консоль)? Существуют ли возможные расширения для этой цели? Спасибо.
Комментарии:
1. Режим отладки предназначен для отладки, режим без отладки не предназначен для отладки. Так почему бы вам не использовать режим отладки? В чем проблема, с которой вы столкнулись?
2. какую версию VS2019 вы используете?
3. Версия VS2019 — 16.8.4. Мне не всегда нужна информация, отображаемая в режиме отладки. Например, когда я суммирую два значения, например, байт i = 2; байт j = 3; байт x = i j; Мне просто нужно проверить, какое число равно x. Да, я могу использовать MessageBox. Show() для него, но что, если стеков много.
Ответ №1:
После установки типа вывода на «Консольное приложение» вам также необходимо добавить это в project (.csproj).
<DisableWinExeOutputInference>true</DisableWinExeOutputInference>
Для получения более подробной информации обратитесь к OutputType, установленному в WinExe для приложений WPF и WinForms.