Отображение сообщения в окне вывода в режиме без отладки (.NET 5)

#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.