- Почему Console.WriteLine не работает в коде Visual Studio?
- 6 ответов
- Программирование на C, C# и Java
- Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
- Если консоль закрывается после выполнения программы
- Нет вывода в консоль
- Учебник. Отладка консольного приложения .NET с помощью Visual Studio Code
- Предварительные требования
- Использование конфигурации отладочной сборки
- Установка точки останова
- Настройка входных данных терминала
- Начать отладку
- Использование консоли отладки
- Установка условной точки останова
- Пошаговое выполнение программы
- Использование конфигурации сборки для выпуска
- Дополнительные ресурсы
- Следующие шаги
Почему Console.WriteLine не работает в коде Visual Studio?
У меня есть скрипты и кодернер, установленные в коде Visual Studio. Когда я запускаю простую программу, включающую Console.WriteLine(«Test») , я ничего не вижу. Кажется, что программа успешно работает и завершает работу с кодом 0.
Вот весь код на случай, если кому-то будет интересно:
6 ответов
Если вы просто пытаетесь запустить файл CS без проекта и т. Д., Проблема заключается в том, что обработчик кода рассматривает файл как скрипт. Таким образом, основной метод на самом деле не вызывается так, как при запуске консольного приложения.
Поэтому решение состоит в том, чтобы сделать ваш метод main общедоступным и добавить вызов Program.Main (null); после определения класса. Это решение не требует никакого файла конфигурации launch.json или изменений конфигурации. Обратите внимание на вызов Program.Main после того, как определение класса действительно показывает ошибку в коде VS, но он прекрасно работает в коде запуска. Смотрите блок кода ниже.
Вы должны сделать это
Вам необходимо добавить любой из следующих строк кода
Код скомпилировался и затем запустился, но он не был очень быстрым, и консольное приложение закрылось после выполнения. Чтобы этого не случилось, вам нужно добавить еще один метод, например:
( Строка обозначает перевод строки, это означает, что курсор перемещается на следующую строку слева).
Таким образом, приложение закроется, если вы нажмете клавишу «Ввод» на клавиатуре.
Источник
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode
Если консоль закрывается после выполнения программы
Очень часто новички сталкиваются с такой проблемой: запускают программу, а консоль закрывается после выполнения программы и не дает просмотреть результат ее работы. В этот статье мы поговорим о том, что нужно сделать, чтобы этого избежать.
Рассмотрим программу на языке C, которая выводит в консоль надпись “Hello world!”:
Запустим программу, для этого нажмем в Visual Studio клавишу F5. Консоль появляется и мгновенно исчезает. Существуют два пути решения этой проблемы.
Первый. Самый простой. Нажать одновременно клавиши Ctrl и F5. Смотрим результат:
Второй способ (которым почему-то пользуется большинство начинающих. Дописать в конце программы функцию, которая считывает символ с клавиатуры (_getch(), чтобы эта функция работала, подключаем библиотеку ), тем самым программа ждет ввода символа и консоль не закрывается, а мы смотрим на результат ее работы.
Источник
Нет вывода в консоль
Доброго времени суток!
В середине дня столкнулась со следующей проблемой. При сборке программы в Visual Studio 2008 все прекрасно и без ошибок, но тем не менее в консоль ничего не выводит. Если запустить программу второй раз, то возникает ошибка fatal error LNK1168: не удается открыть файл для записи. Приходится закрывать процессы вручную, но некоторые не хотят закрываться.
Даже старый добрый Hello world выводить не хочет. Просто пустое окно консоли. Помогите разобраться. Заранее спасибо.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Ошибка вывода на консоль
В Debug выводит адрес почему-то. В release же все нормально. Почему так и как это исправить.
Кодировка вывода в консоль
Здравствуйте, у меня Windows Xp sp 3, не подскажите кодировку вывода на консоль русского текста.
Поправить строки вывода в консоль
Помогите пожалуйста поправить строки для корректного вывода в консоль. Знаю шарп, там все проще, а.
Дублирование вывода в консоль CLion
Доброго времени суток друзья. Установил вчера IDE CLion. Но он почему-то дублирует вывод значений.
AntonIv, чего я только не делала за сегодняшний день: и процессы останавливала, и антивирус закрывала, до перестановки дело тоже дошло. Но все впустую.
Добавлено через 2 минуты
AntonIv, кстати, в 2015 версии тоже самое наблюдается.
Источник
Учебник. Отладка консольного приложения .NET с помощью Visual Studio Code
В этом учебнике представлены средства отладки, доступные в Visual Studio Code для работы с приложениями .NET.
Предварительные требования
- В этом учебнике используется консольное приложение, созданное в руководстве Создание консольного приложения .NET в Visual Studio Code.
Использование конфигурации отладочной сборки
В .NET Core используются две встроенные конфигурации сборки — Отладка и Выпуск. Вы воспользуетесь отладочной конфигурацией сборки для отладки и конфигурацией для выпуска для окончательного выпуска программы.
В отладочной конфигурации программы компилируется с полной символической отладочной информацией и без оптимизации. Оптимизация усложняет отладку, поскольку усложняется связь между исходным кодом и сгенерированными инструкциями. Конфигурация для выпуска полностью оптимизирована и не содержит символической отладочной информации.
По умолчанию параметры запуска в Visual Studio Code используют отладочную конфигурацию сборки, поэтому их не нужно изменять перед отладкой.
Запустите Visual Studio Code.
Откройте папку проекта, созданную по инструкциям из статьи Создание консольного приложения .NET в Visual Studio Code.
Установка точки останова
Точка останова приостанавливает выполнение приложения на инструкции, предшествующей той строке, в которой установлена точка останова.
Откройте файл Program.cs.
Установите точку останова в строке, где отображается имя, дата и время, щелкнув в левом поле окна кода. Левое поле находится слева от номеров строк. Или нажмите клавишу F9 либо выберите в меню пункт Запуск > Перейти к следующей точке останова при выбранной строке кода.
Красная точка в левом поле обозначает строку с точкой останова Visual Studio Code.
Настройка входных данных терминала
Точка останова находится после вызова метода Console.ReadLine . Консоль отладки не принимает входные данные терминала для выполняющейся программы. Чтобы использовать выходные данные терминала во время отладки, можно использовать встроенный терминал (одно из окон Visual Studio Code) или внешний терминал. В этом учебнике используется встроенный терминал.
Откройте файл .vscode/launch.json.
Измените значение параметра console с internalConsole на integratedTerminal .
Начать отладку
Откройте окно отладки, щелкнув значок «Отладка» в меню слева.
Щелкните зеленую стрелку в верхней части панели рядом с элементом .NET Core Launch (console) (Запуск .NET Core (консоль)). Еще один способ запуска программы в режиме отладки — нажать клавишу F5 или выбрать в меню пункт Запуск > Начать отладку.
Выберите вкладку Терминал, чтобы отобразить запрос «What is your name?» (Как вас зовут?), который появляется перед ожиданием ответа.
Введите строку в окне Терминал в ответ на запрос имени, а затем нажмите клавишу ВВОД .
Выполнение программы остановится, когда будет достигнута точка останова, то есть перед выполнением метода Console.WriteLine . В окне Локальные окна Переменные отображаются значения переменных, которые определены в текущем выполняемом методе.
Использование консоли отладки
Окно Консоль отладки служит для взаимодействия с приложением, которое вы отлаживаете. Вы можете изменить значения переменных и посмотреть, как это повлияет на работу программы.
Выберите вкладку Консоль отладки.
Введите name = «Gracie» в запросе в нижней части окна Консоль отладки и нажмите клавишу ВВОД .
Введите currentDate = DateTime.Parse(«2019-11-16T17:25:00Z»).ToUniversalTime() в нижней части окна Консоль отладки и нажмите клавишу ВВОД .
В окне Переменные отображаются новые значения переменных name и currentDate .
Продолжите выполнение программы, нажав кнопку Продолжить на панели инструментов. Еще один способ продолжить — нажать клавишу F5 .
Снова выберите вкладку Терминал.
Значения, отображаемые в окне консоли, соответствуют изменениям, произведенным в окне Консоль отладки.
Нажмите любую клавишу, чтобы выйти из приложения и остановить отладку.
Установка условной точки останова
Программа отображает строку, которую вводит пользователь. Что произойдет, если пользователь ничего не введет? Это можно проверить с помощью полезной функции отладки, которая называется условной точкой останова.
Щелкните правой кнопкой мыши красную точку, обозначающую точку останова (или щелкните ее, удерживая нажатой клавишу CTRL в macOS). В контекстном меню выберите Изменить точку останова, чтобы открыть диалоговое окно, в котором можно ввести условное выражение.
Выберите Expression в раскрывающемся списке, введите следующее условное выражение и нажмите клавишу ВВОД .
При каждом достижении точки останова отладчик вызывает метод String.IsNullOrEmpty(name) и останавливается на этой строке только в том случае, если вызов метода возвращает true .
Вместо условного выражения можно указать количество обращений (выполнение программы будет прервано, пока инструкция не будет выполнена указанное количество раз) или условие фильтра (выполнение программы будет прервано на основе таких атрибутов, как идентификатор потока, имя процесса или имя потока).
Запустите отладку программы, нажав клавишу F5 .
Когда на вкладке Терминал появится предложение ввести имя, нажмите клавишу ВВОД .
Так как указанное вами условие соблюдается ( name имеет значение null или String.Empty), выполнение программы будет остановлено при достижении точки останова, то есть перед выполнением метода Console.WriteLine .
В окне Переменные указывается, что значение переменной name «» или String.Empty.
Убедитесь в том, что переменная содержит пустую строку, введя следующий оператор в окне Консоль отладки и нажав клавишу ВВОД . Результат равен true .
Нажмите кнопку Продолжить на панели инструментов, чтобы возобновить выполнение программы.
Перейдите на вкладку Терминалов и нажмите любую клавишу, чтобы выйти из программы и прекратить отладку.
Очистите точку останова. Для этого щелкните красную точку в левом поле окна с кодом. Или нажмите клавишу F9 либо выберите Запуск > Перейти к следующей точке останова из меню при выбранной строке кода.
При появлении предупреждения о том, что условие точки останова будет потеряно, выберите Удалить точку останова.
Пошаговое выполнение программы
Visual Studio Code позволяет выполнять программу пошагово, отслеживая результат ее выполнения. Для этого обычно задают точку останова и запускают программу в небольшой части ее кода. Поскольку наша программа невелика, давайте выполним ее пошагово.
Установите точку останова на открывающей фигурной скобке метода Main .
Нажмите клавишу F5 , чтобы начать отладку.
Visual Studio Code выделит строку точки останова.
На этом этапе в окне Переменные показано, что массив args пуст, а name и currentDate имеют значения по умолчанию.
Выберите Запуск > Шаг с заходом или нажмите клавишу F11 .
Будет выделена следующая строка.
Выберите Запуск > Шаг с заходом или нажмите клавишу F11 .
Visual Studio Code выполняет Console.WriteLine для запроса имени и выделяет следующую строку выполнения. Следующая строка — это Console.ReadLine для name . Содержимое окна Переменные останется без изменений, а на вкладке Терминал появится сообщение «What is your name?» (Как вас зовут?).
Выберите Запуск > Шаг с заходом или нажмите клавишу F11 .
Visual Studio выделит назначение переменной name . В окне Переменные видно, что name по-прежнему null .
Ответьте на этот запрос, введя строку на вкладке «Терминал» и нажав клавишу ВВОД .
На вкладке Терминал может не отображаться введенная строка, однако метод Console.ReadLine будет записывать входные данные.
Выберите Запуск > Шаг с заходом или нажмите клавишу F11 .
Visual Studio Code выделит назначение переменной currentDate . В окне Переменные отображается значение, полученное в результате вызова метода Console.ReadLine. На вкладке Терминал также отображается строка, указанная в командной строке.
Выберите Запуск > Шаг с заходом или нажмите клавишу F11 .
В окне Переменные отображается значение переменной currentDate , которому было присвоено свойство DateTime.Now.
Выберите Запуск > Шаг с заходом или нажмите клавишу F11 .
Visual Studio Code вызывает метод Console.WriteLine(String, Object, Object). В окне консоли отображается форматированная строка.
Выберите Запуск > Шаг с выходом или нажмите клавиши SHIFT + F11 .
Выберите вкладку Терминал.
В окне терминала отобразится сообщение «Нажмите любую клавишу, чтобы выйти. «
Нажмите любую клавишу для выхода из программы.
Использование конфигурации сборки для выпуска
После тестирования отладочной версии приложения следует скомпилировать и протестировать версию в режиме выпуска. Версию для выпуска компилятор собирает с использованием методов оптимизации, которые могут влиять на поведение приложения. Например, оптимизации компилятора для повышения производительности могут привести к состоянию конкуренции в многопоточных приложениях.
Чтобы создать и протестировать версию консольного приложения для выпуска, откройте терминал и выполните следующую команду:
Дополнительные ресурсы
Следующие шаги
В этом учебнике вы использовали средства отладки Visual Studio Code. В следующем руководстве вы опубликуете развертываемую версию приложения.
Источник