Ошибка console определение отсутствует vs code

Интернет Explorer: «console is not defined» Ошибка

Я использовал console.log() в некоторых JavaScript я написал и ошибка: console is not defined был брошен в Internet Explorer (работал нормально в других браузерах).

Я заменил его на:

if (console) console.log(«. «);

Если console равно undefined , я ожидаю, что условие будет оцениваться как false . Следовательно, оператор console.log не будет выполняться и не должен выдавать ошибку.

Вместо этого возникает ошибка: console is not defined at character 4 .

Это ошибка IE? Или это «if» условие действительно незаконно? Это кажется абсурдным, потому что если if (console) является незаконным, то if (console==undefined) тоже должно быть незаконным.

Как вы собираетесь проверять наличие undefined переменных?

9 Ответов

Другие ответы дали вам первопричину. Однако есть лучшее решение, чем использовать if перед любым вызовом console.*

Добавьте это (один раз) перед включением любого из ваших сценариев, использующих консоль:

Это создаст консоль ‘pseudo’ только в том случае, если она не существует, так что ошибки «консоль не определена» исчезнут, и вам не придется каждый раз спрашивать, существует ли консоль. При этом вы просто вызываете console.log или любой консольный метод в любом месте, без проблем.

Надеюсь, это поможет. Овации

Если console сам по себе не существует вообще, он выдает ошибку, потому что вы обращаетесь к неопределенной переменной. Точно так же, как if(abc) <> выдает ошибку.

Поскольку console находится в window , а window всегда существует, это должно работать:

В принципе, доступ к несуществующему свойству является свободным и не вызывает ошибки (он просто вычисляется как undefined , не выполнив условие if ). Однако доступ к необъявленной переменной является незаконным .

в internet explorer объект консоли фактически не определен, если ваши средства разработчика не открыты во время загрузки окна.

чтобы исправить вашу проблему, обернуть все ваши отпечатки консоли в случае, если заявление:

вам также нужно обновить каждую страницу после открытия инструментов разработчика, чтобы увидеть отпечатки консоли. Поделиться jbabey 15 марта 2012 в 17:40

Это забавная вещь о необъявленных переменных. Механизм JS пытается преобразовать переменную в свойство window . Так обычно бывает, foo == window.foo .

Но, если это свойство не существует, оно выдает ошибку.

(Должно быть «фу не объявлено» ИМХО, но все равно.) Эта ошибка не возникает при явной ссылке на свойство окна:

или объявите эту переменную:

или используйте его для инициализации:

Самое странное, что оператор typeof также предотвращает эту ошибку:

Итак, подведем итог: вы не можете использовать необъявленные переменные в выражениях, если нет свойства window с тем же именем или вы используете его в качестве операнда typeof . В вашем примере window.console не существует, и нет никакого объявления var. Вот почему вы получаете ошибку.

Как насчет этого? Хотя я еще не пробовал

Использование c.length в качестве входных данных для функции, которая определяет c, не будет работать. Кроме того, вы просто переназначаете элементы в массиве с помощью noop, когда вы должны добавлять методы в window.console.

Вы можете использовать приведенное ниже, чтобы дать дополнительную степень страхования, что у вас есть все основания покрыты. Использование typeof first позволит избежать любых ошибок undefined . Использование === также гарантирует, что имя типа на самом деле является строкой «undefined». Наконец, вы захотите добавить параметр в сигнатуру функции (я произвольно выбрал logMsg ), чтобы обеспечить согласованность, так как вы передаете все, что хотите напечатать на консоли, в функцию log. Это также позволит вам сохранить точность intellisense и избежать любых предупреждений/ошибок в вашем JS aware IDE.

Отредактировано, чтобы поместить в IIFE и исправить синтаксическую ошибку!

Некоторые браузеры не имеют console включен, когда dev-tools закрыт. Кроме того, можно было бы столкнуться с этой проблемой с WebViews или iFrames, где консоль отключена.

Ошибка в этих случаях составляет — Uncaught ReferenceError: console is not defined

Вдохновленный многими ответами здесь, я разработал библиотеку для этого usecase: https://github.com/sunnykgupta/jsLogger

Особенности:

  1. Она надежно перекрывает console.log.
  2. Заботится, если консоль недоступна (О да, вам нужно учитывать и это тоже.)
  3. Сохраняет все журналы (даже если они подавлены) для последующего извлечения.
  4. Обрабатывает основные консольные функции, такие как log , warn , error , info .

Похожие вопросы:

Я работаю на веб-сайте, который отлично работает в Chrome и Firefox, но не отображается прямо в Internet Explorer (все версии). Вот как это выглядит во всех трех браузерах: хром и Firefox интернет.

Я просто попытался запустить более старое приложение Dart, и я получил эту ошибку: Breaking on exception: ReferenceError: ReceivePortSync is not defined Откуда берется это исключение и как его.

Возможный Дубликат : Запуск Internet Explorer 6, Internet Explorer 7 и Internet Explorer 8 на одной машине Есть ли способ иметь интернет Explorer 8 и интернет Explorer 6 бок о бок без виртуализации.

Как скопировать сообщение из консоли ошибок

Если при загрузке страниц или при работе с интерактивными элементами сайта возникла проблема, причину поломки поможет определить информация из консоли браузера. Воспользуйтесь инструкциями ниже, чтобы скопировать сообщение из консоли ошибок и передать его в службу поддержки. Для этого выберите браузер, в котором возникает проблема:

Яндекс.Браузер

Откройте меню → Дополнительно → Дополнительные инструменты → Консоль JavaScript .

Или нажмите правой кнопкой мыши в любой области страницы, выберите пункт Исследовать элемент и перейдите на вкладку Console .

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Для получения дополнительной информации вы также можете сделать скриншот содержимого вкладки Network .

Google Chrome

Откройте меню → Дополнительные инструменты → Инструменты разработчика и перейдите на вкладку Console .

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Для получения дополнительной информации вы также можете сделать скриншот содержимого вкладки Network .

Opera

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Для получения дополнительной информации вы также можете сделать скриншот содержимого вкладки Network .

Mozilla Firefox

Откройте меню → Веб-разработка → Инструменты разработки .

Или нажмите правой кнопкой мыши в любой области страницы, выберите пункт Исследовать элемент .

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Microsoft Edge

Internet Explorer

  • 8 и выше
  • 7 и ниже

Нажмите правой кнопкой мыши в любой области экрана и выберите пункт Проверить элемент .

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Safari

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Для получения дополнительной информации вы также можете сделать скриншот содержимого вкладки Сеть .

Как скопировать сообщение из консоли ошибок

Если при загрузке страниц или при работе с интерактивными элементами сайта возникла проблема, причину поломки поможет определить информация из консоли браузера. Воспользуйтесь инструкциями ниже, чтобы скопировать сообщение из консоли ошибок и передать его в службу поддержки. Для этого выберите браузер, в котором возникает проблема:

Яндекс.Браузер

Откройте меню → Дополнительно → Дополнительные инструменты → Консоль JavaScript .

Или нажмите правой кнопкой мыши в любой области страницы, выберите пункт Исследовать элемент и перейдите на вкладку Console .

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Для получения дополнительной информации вы также можете сделать скриншот содержимого вкладки Network .

Google Chrome

Откройте меню → Дополнительные инструменты → Инструменты разработчика и перейдите на вкладку Console .

Если для просмотра требуется прокрутка по вертикали, сделайте несколько снимков.

Для получения дополнительной информации вы также можете сделать скриншот содержимого вкладки Network .

Форумы IBResource

Консоль ошибок Javascript

  • Нравится
  • Не нравится

Sannis 19 марта 2008

Для ответа нужно зайти в:
Opera: Инструменты -> Дополнительно -> Консоль ошибок;
Firefox: Инструменты -> Консоль ошибок;
, очистить список ошибок и проделать действия, реакцию форума на которые вы считаете ошибочной. После чего написать на форум список возникших ошибок.

P.S. Если у вас IE, проверьте работу функций в других браузерах. Eсли не работает только в IE, то лучше дать адрес форума знающим людям. Продвинутые могут ознакомиться со статьями.

  • Нравится
  • Не нравится

Song 20 марта 2008

  • Нравится
  • Не нравится

andripoty 28 дек. 2008

  • Нравится
  • Не нравится

Sannis 28 дек. 2008

обнаружить то обнаруживаются а вот как лечить?

Исходя из имеющихся знаний А так топик висит для того, чтобы давать на него ссылку в случае незнания автором об этом средстве. Rогда менюшки не открываются, кнопки не нажимаются и так далее.

  • Нравится
  • Не нравится

Мир 27 янв. 2009

А если я по глупости удалил папку с подобным названием из корня форума на фтп и у меня теперь при создании сообщения пропали дополнительные функции и все кнопки «разъежающиеся» перестали работать.

как быть подскажите?

  • Нравится
  • Не нравится

Sannis 28 янв. 2009

А если я по глупости удалил папку с подобным названием из корня форума на фтп и у меня теперь при создании сообщения пропали дополнительные функции и все кнопки «разъежающиеся» перестали работать.

как быть подскажите?

Залить её обратно.

А ещё прочитать правила форума и не писать вопросы в тематические темы итемы с другими вопросами.

  • Нравится
  • Не нравится

Stas11 14 февр. 2009

Здравствуйте, подскажите пожалуйста. До этого всё работало отлично, но пару дней назад начались ошибки яваскриптов.
Версия форума 2.3.6
При этом файлы не трогались и ничего не менялось, просто ни с того ни с сего перестали обрабатываться сценарии скриптов.
Если например зайти в тему, и нажать редактировать, то появляется 2 варианта Быстрое редактирование и Полное редактирование, и всё остальное тоже работает нормально, но если обновить страницу или написать ответ и отправить, то после перезагрузки страницы скрипты напрочь отказываются работать.
Скачал с сайта майкрософта отладчик microsoft script debugger и попробовал зайти с ним и при входе в тему выдаётся такая картина:

Во время выполнения произошла ошибка
Запустить отладку?
Строка 2155
Ошибка: ‘topic_rate’ определение отсутствует.

При запуске подсвечивается в самом низу строка: topic_rate = new topic_rate();

Ошибка JavaScript. Как найти и исправить ошибку JavaScript

Дата публикации: 2016-10-07

От автора: приветствую вас, друзья. Из этой небольшой статьи мы с вами узнаем, как увидеть и исправить ошибки JavaScript. Статья написана для начинающих изучение JavaScript.

При написании программы на любом языке программирования так или иначе не обходится без ошибок, которые необходимо уметь найти и исправить. В качестве примера давайте напишем простейшую программу, которая должна показать модальное окно:

В этой простейшей программе есть ошибка JavaScript, которую нам и нужно найти, поскольку с ней наш код не работает и модальное окно не показывается. Мало того, в JavaScript многие ошибки можно назвать фатальными, поскольку из-за них может прекратить работу не только ваш скрипт, но и сторонние библиотеки JavaScript до тех пор, пока ошибка не будет исправлена.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Что же поможет найти ошибки JavaScript? Консоль браузера. Здесь мы вкратце пройдемся по этому инструменту в различных браузерах, в частности это будет Firefox и Chrome. В обоих браузерах консоль есть из коробки.

Начнем с Firefox. Для того, чтобы увидеть ошибку в нашем коде, необходимо открыть консоль браузера. Для этого кликаем в окне браузера правой кнопкой мыши и в контекстном меню выбираем пункт Исследовать элемент.

Внизу окна появится панель, в которой мы можем исследовать и отлаживать наш код. Полагаю, если вы верстали сайты, вы уже могли использовать этот инспектор кода для исследования верстки. Инструмент значительно упрощает жизнь верстальщика, даже и не представляю, как раньше верстали сайты без него

Итак, в открывшейся панели рядом со вкладкой Инспектор есть вкладка Консоль, она то нас и интересует. Переключимся на нее, еще раз обновим страницу и увидим все ошибки JavaScript. В нашем случае это всего одна синтаксическая ошибка, которая произошла в файле scripts.js на первой строке.

Нам остается лишь перейти в данный файл, заметить, что мы забыли заключить строку в кавычки и исправить эту ошибку:

Вот теперь ошибок нет и код успешно выполнился. Кроме встроенной консоли для Firefox можно отдельно установить расширение Firebug, которое, по сути, является аналогом. После установки Firebug можно вызвать, как и встроенную консоль, из контекстного меню или использовать для этого горячую клавишу F12. Вот таким образом выглядит Firebug:

Ну и консоль Хрома:

Она также вызывается из контекстного меню или клавишей F12.

Конечно, для исправления ошибки в единственной строке кода консоль зачастую не нужна. Но если кода десятки и сотни строк, тогда без консоли обойтись практически нереально. При этом в консоли можно не только смотреть ошибки, но и даже писать собственный JavaScript код, но это уже тема отдельной статьи.

На этом статья подошла к концу, теперь вы знаете, как найти в своем коде ошибки JavaScript и исправить их. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Отладка JavaScript для начинающих

В последние несколько лет благодаря появлению различных библиотек, таких как jQuery и Prototype, JavaScript завоевал лидирующее место среди языков для создания скриптов для веб проектов. Растущая популярность и простота использования привела к появлению полноценных приложений, например, Gmail, которые содержат тысячи строк JavaScript, выдвигающих к команде разработчиков повышенные требования к уровню владения инструментарием.

Результатом увеличения сложности приложений является необходимость в наличии мощных инструментов для отладки, которые позволяют быстро и эффективно найти источник ошибки. Простой вывод значений переменных с помощью функции alert() потерял свою актуальность.

В данном уроке проводится краткий обзор возможностей современных инструментов разработчиков, которые помогают сделать отладку JavaScript кода более простым процессом. Основное внимание будет уделяться возможностям браузера Chrome и дополнения Firebug для FireFox, но большинство описанных функций доступны и в других инструментах, например, Dragonfly для Opera.

Консоль — общий взгляд

В большинстве программ для разработчиков самым лучшим другом программиста будет консоль . Многоцелевая панель используется для журналирования сообщений об ошибках, проверки DOM, отладки кода JavaScript и множества других задач. В зависимости от браузера консоль вызывается разными командами (кроме прямого выбора через меню):

  • в браузере Chrome и Dragonfly для Opera – Ctrl + Shift + I
  • Firebug — F12

Консоль автоматически выводит ошибки в коде, которые выявляются в ходе выполнения скрипта. Файл и строка указываются рядом с ошибкой, а нажатие клавиши мыши на ошибке перемещает фокус ввода в соответствующее ей место.

Данные выводим в консоль

Консоль может не только показывать ошибки в коде скрипта. С помощью Console API и Command Line API можно управлять выводом данных в консоль. Самая известная и полезная команда .log().

При разработке кода формы очень полезно знать значения переменных, чтобы проверять правильность работы кода. Обычной практикой является использование функции alert() для визуального контроля. Однако, использование такого метода блокирует выполнение остальной части кода до нажатия кнопки в окне диалога.

Современным решением является использование метода console.log, который выводит значения переменных на панель консоли:

Метод можно использовать для вывода вычисленных значений:

Преимуществом такого подхода по сравнению с методом использования диалога alert() является то, что выполнение кода не прерывается, и разработчик может несколько раз выводить значения переменных для наблюдения за изменениями данных в реальном времени.

Выделение сообщений

В выше приведенном примере цикл будет выводить много значений переменных в консоль. Однако, часто бывает удобно визуально разделять различные данные, чтобы эффективно выделять в коде места, требующие повышенного внимания. Для решения таких задач Console API имеет несколько методов.

console.info(): выводит иконку «информация» и выделяет цветом представляемую информацию. Данный метод удобно использовать для предупреждения о различных событиях.

console.warn(): выводит иконку «предупреждение» и выделяет цветом представляемую информацию. Удобно использовать для информации о выходе параметров за рамки ограничений.

console.error(): выводит иконку «ошибка» и выделяет цветом представляемую информацию. Удобно использовать для представления информации об ошибках и критических условиях.

Примечание: инструмент разработчика Chrome не имеет средств для различного представления информации в консоли.

Группировка вызовов метода .log()

Использование различных методов для вывода информации в консоль позволяет представить данные в наглядном виде. Представление информации можно улучшить с помощью объединения в блоки. Используется метод console.group():

Данный пример сгруппирует информацию в консоли. Визуально е представление будет различаться в разных браузерах, на рисунке ниже представлен вид в Dragonfly для Opera:

Выше приведенные примеры представляют небольшой список доступных методов из Console API. Имеется много других полезных методов, которые описаны на официальной странице Firebug.

Прерывание хода выполнения скрипта

Вывод информации в консоль является полезным средством, но код может выполняться очень быстро и при этом отслеживать много переменных.

Чтобы облегчить процесс отладки можно прерывать ход выполнения кода в определенной точке с получением доступа к данным. Для этого использутся точки прерывания.

Работаем с точками прерывания

Для установки точки прерывания нужно перейти на закладку ‘ Scripts ‘ и выбрать нужный скрипт из списка. Теперь ищем строку, где нужно прервать ход выполнения скрипта, и жмем на поле с номером строки для активации — появится визуальный индикатор. Теперь перегружаем страницу и выполнение кода прервется в заданной точке:

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

Затем можно продолжить выполнение кода с помощью специальных кнопок , которые располагаются вверху боковой панели:

  • “Continue”: продолжает выполнение кода до следующей точки прерывания.
  • “Step Over”: выполняет следующую строку кода. Если код вызывает другую функцию, то отладчик не будет «погружаться» в ее код.
  • “Step Into”: похоже на «Step over», за исключение того, что при вызове функции, отладчик переходит к первой строке внутри кода функции.
  • «Step Out»: если вы вошли в код функции с помощью кнопки «Step Into», то нажатие кнопки «Step out» вызовет выполнение кода функции до конца и переход к родительской функции.

На боковой панели можно отслеживать изменение состояния кода, включая динамику локальных и глобальных переменных.

Условные точки прерывания

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

В примере на рисунке выполнение кода не будет прерываться до тех пор, пока значение перменной total_photos_diff не станет больше 200.

Для активации условного прерывания нужно нажать правую клавишу мыши на точке прерывания и выбрать пункт ‘Edit Breakpoint’ для вывода диалога редактирования условий формирования прерывания.

Установка точки прерывания в коде

Не всегда удобно устанавливать точки прерывания с помощью интерфейса инструмента разработчика в браузере. Иногда проще запустить отладчик из кода специальной командой. В примере, приведённом ниже, показано, как вы можете прервать выполнение кода при соблюдении определенных условий:

Другие способы прервать выполнение кода

Кроме использования точки прерывания инструмент разработчика предоставляет другие возможности остановить выполнение кода в разных случаях.

Остановка при изменении DOM

Если вам нужно отладить часть кода, которая управляет изменениями DOM, то инструмент разработчика предоставляет в ваше распоряжение способ остановки выполнения кода при изменениях узла DOM.

На панели кода HTML при нажатии правой кнопки мыши на нужном элементе можно выбрать условия остановки кода (изменение атрибутов, добавление/удаление потомков, удаление элемента) при изменении DOM. Перегрузите код и при изменении элементов выполнение кода остановится.

Остановка при появлении всех или необрабатываемых исключений

Большинство инструментов разработчика позволяют останавливать выполнение скрипта при появлении исключений. В Chrome данный функционал может быть включен с помощью иконки ‘ Pause ‘ в нижней строке интерфейса.

Можно выбрать, для каких исключений будет выполняться остановка выполнения кода. Пример, приведенный ниже, демонстрирует одно необрабатываемое и одно обрабатываемое (блок try|catch) исключения:

Введение в стек вызовов

Если ошибка появится при выполнении вашего скрипта, то выше описанные методы помогут остановить программу для анализа ошибки. Но не всегда сразу понятно, где скрывается причина.

Когда выполнение скрипта прерывается, обратите внимание на правую панель, на которой представлена полезная информация, среди которой содержится стек вызовов (Call stack).

Стек вызовов показывает полный путь, который привел к точке появления ошибки и остановки выполнения кода.

На представленном ниже рисунке ошибка намеренно сгенерирована в функции incrementValues(), что привело к остановке выполнения кода. инструмент разработчика показывает полный стек вызовов, что позволяет определить потенциально опасные места.

Заключение

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

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.netmagazine.com/tutorials/javascript-debugging-beginners
Перевел: Сергей Фастунов
Урок создан: 26 Марта 2012
Просмотров: 187941
Правила перепечатки

5 последних уроков рубрики «Разное»

Как разместить свой сайт на хостинге? Правильно выбранный хороший хостинг — это будущее Ваших сайтов

Проект готов, Все проверено на локальном сервере OpenServer и можно переносить сайт на хостинг. Вот только какую компанию выбрать? Предлагаю рассмотреть хостинг fornex.com. Отличное место для твоего проекта с перспективами бурного роста.

Разработка веб-сайтов с помощью онлайн платформы Wrike

Создание вебсайта — процесс трудоёмкий, требующий слаженного взаимодействия между заказчиком и исполнителем, а также между всеми членами коллектива, вовлечёнными в проект. И в этом очень хорошее подспорье окажет онлайн платформа Wrike.

20 ресурсов для прототипирования

Подборка из нескольких десятков ресурсов для создания мокапов и прототипов.

Топ 10 бесплатных хостингов

Небольшая подборка провайдеров бесплатного хостинга с подробным описанием.

Быстрая заметка: массовый UPDATE в MySQL

Ни для кого не секрет как в MySQL реализовать массовый INSERT, а вот с UPDATE-ом могут возникнуть сложности. Чтобы не прибегать к манипуляциям события ON_DUPLICATE можно воспользоваться специальной конструкцией CASE … WHEN … THEN.

У меня есть скрипты и кодернер, установленные в коде Visual Studio. Когда я запускаю простую программу, включающую Console.WriteLine("Test"), я ничего не вижу. Кажется, что программа успешно работает и завершает работу с кодом 0.

Какие-либо предложения?

Вот весь код на случай, если кому-то будет интересно:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Test");
    }
}

6 ответов

Лучший ответ

Если вы просто пытаетесь запустить файл CS без проекта и т. Д., Проблема заключается в том, что обработчик кода рассматривает файл как скрипт. Таким образом, основной метод на самом деле не вызывается так, как при запуске консольного приложения.

Поэтому решение состоит в том, чтобы сделать ваш метод main общедоступным и добавить вызов Program.Main (null); после определения класса. Это решение не требует никакого файла конфигурации launch.json или изменений конфигурации. Обратите внимание на вызов Program.Main после того, как определение класса действительно показывает ошибку в коде VS, но он прекрасно работает в коде запуска. Смотрите блок кода ниже.

using System;
class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Test");
    }
}

Program.Main(null);

Я нашел ответ на этот вопрос здесь: https://stackoverflow.com/a/46179597


7

Kevin
30 Ноя 2018 в 18:13

Вы должны сделать это

Console.WriteLine("Hello");
string name = Console.ReadLine();


-3

Jesse
26 Июн 2018 в 08:35

Вам необходимо добавить любой из следующих строк кода

Console.Readline()
Console.Read()
Console.ReadKey()

Пример:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Test");
        Console.ReadLine();
    }
}


-1

mIhAwk
5 Апр 2017 в 17:18

Код скомпилировался и затем запустился, но он не был очень быстрым, и консольное приложение закрылось после выполнения. Чтобы этого не случилось, вам нужно добавить еще один метод, например:

  • Console.Read ( ) ;

Или

  • Console.ReadLine ( ) ;

( Строка обозначает перевод строки, это означает, что курсор перемещается на следующую строку слева).

Таким образом, приложение закроется, если вы нажмете клавишу «Ввод» на клавиатуре.


-2

Kobrajunior
5 Апр 2017 в 17:17

Он покажет ваш вывод, если вы нажмете Ctrl + F5. Вы получите вывод в окне консоли. Другое решение, если вы напишите Console.ReadLine (); после console.writeline, оно останется открытым окном консоли, пока вы не нажмете какую-либо клавишу.


0

Sachin Dubey
5 Апр 2017 в 17:01

В файле launch.json должно быть поле с именем ‘console’:

Меняя его с:

  "console": "internalConsole",

Кому:

  "console": "externalTerminal",

Исправил это для меня.


10

Tim
12 Дек 2017 в 17:32

taras_student

-3 / 0 / 6

Регистрация: 21.06.2015

Сообщений: 152

1

02.11.2015, 21:05. Показов 3411. Ответов 5

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Хочу чтобы консоль закрывалась при нажатии клавиши,но выбивает ошибку.Если прописую Console.Read();или Console.ReadLine();все нормально,но мне это не подходит вот код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
 
namespace ConsoleApp3
{
    public class Program
    {
        public void Main(string[] args)
        {
            Console.WriteLine("Привет");
            Console.ReadKey();
        }
    }
}

И еще подскажите как сделать чтобы консоль закрывалась при нажатии какой-то, клавиши к примеру (F).
Или как сделать чтобы консоль выполняла одно действие и только при нажатии клавиши продолжала выполнять следующее.

ТЕКСТ ОШИБКИ ИЗ VS:
Ошибка CS0117 «Console» не содержит определение для «ReadKey». ConsoleApp3.DNX Core 5.0
Спасибо.



0



TheGreatCornholio

1250 / 728 / 285

Регистрация: 30.07.2015

Сообщений: 2,403

02.11.2015, 21:08

2

Цитата
Сообщение от taras_student
Посмотреть сообщение

ConsoleApp3.DNX Core 5.0

Эт что такое? Может проект вовсе не для консольного приложения создан?



0



-3 / 0 / 6

Регистрация: 21.06.2015

Сообщений: 152

02.11.2015, 21:13

 [ТС]

3

Зашел в VS->Создать проект->С#->консольное приложение.
Создался проект и там уже это было написано.



0



Эксперт .NET

17231 / 12681 / 3323

Регистрация: 17.09.2011

Сообщений: 20,954

02.11.2015, 21:18

4

Лучший ответ Сообщение было отмечено Ev_Hyper как решение

Решение

Цитата
Сообщение от taras_student
Посмотреть сообщение

ConsoleApp3.DNX Core 5.0

Вы выбрали не Console Application, а Console Application (Package).



1



-3 / 0 / 6

Регистрация: 21.06.2015

Сообщений: 152

02.11.2015, 21:25

 [ТС]

5

Спасибо
Был бы благодарен если бы вы ответили еще на второй мой вопрос,если брать этот код то что нужно написать чтобы консоль закрывалась только при нажатии клавиши «F» а при нажатии каких либо других никак не реагировала.



0



kolorotur

Эксперт .NET

17231 / 12681 / 3323

Регистрация: 17.09.2011

Сообщений: 20,954

02.11.2015, 22:48

6

Цитата
Сообщение от taras_student
Посмотреть сообщение

что нужно написать чтобы консоль закрывалась только при нажатии клавиши «F»

C#
1
2
3
4
5
6
7
Console.WriteLine("Привет");
 
ConsoleKeyInfo keyInfo;
do keyInfo = Console.ReadKey(true);
while (keyInfo.Key != ConsoleKey.F);
            
Console.WriteLine(keyInfo.KeyChar);



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

02.11.2015, 22:48

Помогаю со студенческими работами здесь

Причины ошибки «List<LogicClasses.Point>» не содержит определение для «ReadPoints»
В общем, есть класс
namespace AdditionalClasses
{
public class WorkWithXML
{

«System.Math» не содержит определение для «pow»
Задание возвести матрицу в степень используя методы перегрузки. Подскажите как исправить..

«student» не содержит определения для «Name» и не был найден метод расширения «Name»
Здравствуйте.

Помогите пожалуйста найти ошибку (&quot;student&quot; не содержит определения для &quot;Name&quot; и…

Что выведется на экран после выполнения следующего утверждения: Console.WriteLine(«Sharp is neat».Replace(«is», «AAA»)
A) SharpAAAneat
B) SharpAAA neat
C) Sharp AAA neat
D) Sharp AAAneat

«string» не содержит определение для «tg»
вот задание: написать программу, которая строит любые тригонометрические функции и дает…

Известны сорта роз, выращиваемых тремя цветоводами: «Анжелика», «Виктория», «Гагарин», «Ave Maria», «Катарина», «Юбилейн
Известны сорта роз, выращиваемых тремя цветоводами: &quot;Анжелика&quot;, &quot;Виктория&quot;, &quot;Гагарин&quot;, &quot;Ave…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

6

Содержание

  1. Как исправить ошибки CS0117 и CS0122?
  2. Ошибка CS0117 в Unity.
  3. Ошибка CS0117 в Unity.

Как исправить ошибки CS0117 и CS0122?

По туториалу собираю Tower Defence на Unity для себя и на моменте создания скрипта для башен получаю ошибки CS0117 и CS0122.
Туториал супер наглядный, там просто пишется код и дополнительно объясняется что к чему.
По итогу его написания у человека все работает, у меня ошибки.
Дословно выглядят они так:

1) AssetsScriptsTower.cs(26,41): error CS0117: ‘Enemies’ does not contain a definition for ‘enemies’

2) AssetsScriptsTower.cs(51,21): error CS0122: ‘Enemy.takeDamage(float)’ is inaccessible due to its protection level

  • Вопрос задан 13 мая 2022
  • 166 просмотров

Простой 1 комментарий

1 — у тебя в классе Enemies нет члена enemies. Возможно его нет совсем, а возможно у тебя опечатка.
2 — у тебя в классе Enemy есть метод takeDamage, но он не публичный

PS: На будущее:
— отмечай комментарием, на какой именно строке сработала ошибка
— не забывай заворачивать код в тег — это сильно упростит чтение для тех, кто попробует решить твой вопрос
— перед тем как задавать вопрос — попробуй загуглить в чём суть ошибки, и попробуй сам решить (CS0117, CS0122)
— перед тем как начинать писать на юнити, лучше всё-таки хоть самые основы C# изучить. Тут как в математике — без понимания простых вещей, ты гарантированно не сможешь понять сложные вещи.

Источник

Ошибка CS0117 в Unity.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class движение : MonoBehaviour
<
public float speed;
public float jumpForce;
public float moveInput;

public Joystick joystick;

private Rigidbody2D rb;

private bool facingRight = true;

private bool isGrounded;
public Transform feetPos;
public float checkRadius;
public LayerMask whatIsGround;

private void Start()
<
rb = GetComponent ();
>

private void FixedUpdate()
<
moveInput = joystick.Horizontal;
rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);
if(facingRight == false && moveInput > 0)
<
Flip();
>
else if(facingRight == true && moveInput = .5f)
<
rb.velocity = Vector2.up * jumpForce;
>
>

void OnCollisionEnter2D(Collision2D shit)
<
if (shit.gameObject.tag == «враг»)
<
ReloadFuckingLevel ();
>
>

void ReloadFuckingLevel()
<
Application.LoadLevel (Application.loadLevel); //здесь ошибка
>

void Flip()
<
facingRight = !facingRight;
Vector3 Scaler = transform.localScale;
Scaler.x *= -1;
transform.localScale = Scaler;
>
>

cs(63,44): error CS0117: ‘Application’ does not contain a definition for ‘loadLevel’ это целиком ошибка. Помогите пожалуйста.

Источник

Ошибка CS0117 в Unity.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class движение : MonoBehaviour
<
public float speed;
public float jumpForce;
public float moveInput;

public Joystick joystick;

private Rigidbody2D rb;

private bool facingRight = true;

private bool isGrounded;
public Transform feetPos;
public float checkRadius;
public LayerMask whatIsGround;

private void Start()
<
rb = GetComponent ();
>

private void FixedUpdate()
<
moveInput = joystick.Horizontal;
rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);
if(facingRight == false && moveInput > 0)
<
Flip();
>
else if(facingRight == true && moveInput = .5f)
<
rb.velocity = Vector2.up * jumpForce;
>
>

void OnCollisionEnter2D(Collision2D shit)
<
if (shit.gameObject.tag == «враг»)
<
ReloadFuckingLevel ();
>
>

void ReloadFuckingLevel()
<
Application.LoadLevel (Application.loadLevel); //здесь ошибка
>

void Flip()
<
facingRight = !facingRight;
Vector3 Scaler = transform.localScale;
Scaler.x *= -1;
transform.localScale = Scaler;
>
>

cs(63,44): error CS0117: ‘Application’ does not contain a definition for ‘loadLevel’ это целиком ошибка. Помогите пожалуйста.

Источник

Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

«class Program
{
static void Main()
{
//prompt user for mins
System.Console.Write(«Enter how many minuted you exercised: «);

string entry = System.Console.Readline();

//Add mins to total
//Display total mins
//Repeat until user quits

}

ERROR:
treehouse:~/workspace$ mcs Program.cs
Program.cs(8,35): error CS0117: System.Console' does not contain a definition forReadline’
/usr/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous error)
Compilation failed: 1 error(s), 0 warnings

2 Answers

Steven Parker

C# is case-sensitive, and you wrote «Readline» (lower case «l») instead of «ReadLine» (capital «L»).

kyegrundy August 29, 2017 5:51pm

kittycat_13

2 / 2 / 0

Регистрация: 08.09.2014

Сообщений: 101

1

22.03.2015, 14:16. Показов 13632. Ответов 4

Метки нет (Все метки)


Здравствуйте. Такая проблема. Написала код, но программа выдает «System.Console» не содержит определение для «Writeline» (CS0117). Помогите, пожалуйста, исправить.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
 * Created by SharpDevelop.
 * User: Home
 * Date: 22.03.2015
 * Time: 12:58
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
 
namespace капит
{
    class Invesment
    {
        public static void Main(){
            int i;
        decimal amount, rate, profit, profit_i, win;
        amount = 15000.0m;
        rate = 0.15m;
        profit_i = 0;
        profit = amount/24*rate;
        Console.Writeline("Прибыль за первый месяц:" + profit);
        for (i=0; i<24; i++)
        {profit_i = profit_i + amount/24 * rate;
             amount = amount + profit_i;
             Console.WriteLine("Месяц:"+ (i+1) + "Прибыль за i-й месяц:" + profit_i + "Общая сумма:" + amount);
                               if (i == 23)
                               { win = profit_i - profit;
                                Console.WriteLine("Выигрыш от капитализации:" + win);
                                }
        
                       }
                }
               }
               }

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

AvizerScript

Заблокирован

22.03.2015, 14:18

2

Console.WriteLine — L большая должна быть

0

2 / 2 / 0

Регистрация: 08.09.2014

Сообщений: 101

22.03.2015, 14:22

 [ТС]

3

Скажите, пожалуйста, а как сделать, чтобы окно консоли оставалось на экране, а то оно постоянно пропадает?

0

AvizerScript

Заблокирован

22.03.2015, 14:25

4

C#
1
Console.ReadKey();

Добавьте после

C#
1
Console.WriteLine("Выигрыш от капитализации:" + win);

0

Prizrak86

52 / 52 / 18

Регистрация: 20.03.2015

Сообщений: 278

22.03.2015, 14:27

5

Цитата
Сообщение от kittycat_13
Посмотреть сообщение

Скажите, пожалуйста, а как сделать, чтобы окно консоли оставалось на экране, а то оно постоянно пропадает?

В конце программы напиши

C#
1
Console.ReadLine();

Программа будет ожидать нажатия клавиши «Enter», по нажатию которой программа закроется.

Если написать

C#
1
Console.ReadKey();

Программа будет ожидать нажатие любой клавиши, и закроется при нажатии на любую клавишу.

1

I followed this thread to install Mono on my Fedora box:

Install Mono on Centos 5.5 using YUM

However, when I try and compile my program using:

 gmcs foo.cs

I get:

  foo.cs(11,44): error CS0117: `System.IO.File' does not contain a definition for `ReadLines'
/opt/novell/mono/lib/mono/2.0/mscorlib.dll (Location of the symbol related to previous error)

Compilation failed: 1 error(s), 0 warnings

The line in question is:

 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;

 foreach(int currentMax in File.ReadLines(args[0]).Select(int.Parse)) 
 {
     ...
 }

Can anyone point me in the right direction?

Community's user avatar

asked Dec 4, 2011 at 1:14

Jim's user avatar

3

So it looks like the problem is that you are using the gmcs compiler, which is designed specifically for targeting the .Net 2.0 runtime. The list of C# compilers for mono is:

  • mcs — .Net 1.1 runtime (deprecated)
  • gmcs — .Net 2.0 runtime
  • smcs — .Net 2.1 runtime
  • dmcs — .Net 4.0 runtime

(see here for more details)

So the compiler you should be using for targeting .Net 4.0 is dmcs. Instead, if you actually intended to target .Net 2.0, then use the File.ReadAllLines method that @kil and @minitech talked about.

answered Dec 4, 2011 at 2:47

Ken Wayne VanderLinde's user avatar

1

I believe you want File.ReadAllLines.

answered Dec 4, 2011 at 1:17

Ry-'s user avatar

Ry-Ry-

215k54 gold badges455 silver badges466 bronze badges

2

Формулировка задачи:

Хочу чтобы консоль закрывалась при нажатии клавиши,но выбивает ошибку.Если прописую Console.Read();или Console.ReadLine();все нормально,но мне это не подходит вот код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
 
namespace ConsoleApp3
{
    public class Program
    {
        public void Main(string[] args)
        {
            Console.WriteLine("Привет");
            Console.ReadKey();
        }
    }
}

И еще подскажите как сделать чтобы консоль закрывалась при нажатии какой-то, клавиши к примеру (F).
Или как сделать чтобы консоль выполняла одно действие и только при нажатии клавиши продолжала выполнять следующее.

ТЕКСТ ОШИБКИ ИЗ VS:
Ошибка CS0117 «Console» не содержит определение для «ReadKey». ConsoleApp3.DNX Core 5.0
Спасибо.

Код к задаче: «CS0117 «Console» не содержит определение для «ReadKey». ConsoleApp3.DNX Core 5.0»

textual

Console.WriteLine("Привет");
 
ConsoleKeyInfo keyInfo;
do keyInfo = Console.ReadKey(true);
while (keyInfo.Key != ConsoleKey.F);
            
Console.WriteLine(keyInfo.KeyChar);

Полезно ли:

14   голосов , оценка 4.429 из 5

I don’t know why I am getting this error. I am using Repl.it at school since we are using chromebooks, but I don’t think the C# would be different. I’m debugging some code just to see what it looks like in the console, but it just simply won’t work. I am just getting errors. I’m using System.Diagnostics, System.IO, and System.

I know C# pretty well, so I don’t think I’m missing anything. I believe it’s just simply a Repl.it issue.

Here is my C# code:

public char firstchar = 'a';
public char lasrchar = 'z';

public int passwordLength = 6;
public long tries = 0;

public bool done = false;

public string password = "hey";

public void CreatePasswords(string keys) 
{
    if (keys == password) 
    {
        done = true;
    }
    if (keys.Length == passwordLength || done == true) 
    {
        return;
    }
    for (char c = firstchar; c <= lasrchar; c++) 
    {
        tries++;
        CreatePasswords(keys + c);
    }
}

static void Main(string[] args) 
{
    Program program = new Program();

    Console.ForegroundColor = ConsoleColor.DarkRed;
    Console.WriteLine("welcome to my brute force password cracker.");

    System.Threading.Thread.Sleep(3000);

    Console.Write("this program was created by ");
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("Volt");
    Console.ForegroundColor = ConsoleColor.DarkRed;
    Console.WriteLine(".");

    System.Threading.Thread.Sleep(2800);

    Console.WriteLine("note that passwords found in under a second won't tell you how many passwords per second they got.");

    System.Threading.Thread.Sleep(5000);

    Console.ForegroundColor = ConsoleColor.DarkYellow;
    Console.Write("nplease enter your password > ");

    program.password = Convert.ToString(Console.ReadLine());
    program.password = program.password.ToLower();

    //Debug.Log(program.password = Convert.ToString(Console.ReadLine()));
    //Debug.Log(program.password = program.password.ToLower());

    Console.ForegroundColor = ConsoleColor.DarkRed;
    Console.WriteLine("ncracking your password...");

    Stopwatch timer = Stopwatch.StartNew();

    program.passwordLength = program.password.Length;
    program.CreatePasswords(string.Empty);
    timer.Stop();

    //Debug.Log(program.passwordLength = program.password.Length);
    //Debug.Log(program.CreatePasswords(string.Empty));

    long elapsedMs = timer.ElapsedMilliseconds;
    double elapsedTime = elapsedMs / 1000;

    if (elapsedTime > 0) 
    {
        Console.WriteLine("nnyour password has been found! here are the statistics:");
        Console.WriteLine("----------------------------------");
        Console.WriteLine("password: {0}", program.password);
        Console.WriteLine("password length: {0}", program.passwordLength);
        Console.WriteLine("tries: {0}", program.tries);

        string plural = "seconds";

        if (elapsedTime == 1) 
        {
            plural = "second";
        }
        Console.WriteLine("time to crack: {0} {1}", elapsedTime, plural);
        Console.WriteLine("passwords per second: {0}", (long)(program.tries / elapsedTime));
    }
    else 
    {
        Console.WriteLine("nnyour password has been found! here are the statistics:");
        Console.WriteLine("----------------------------------");
        Console.WriteLine("password: {0}", program.password);
        Console.WriteLine("password length: {0}", program.passwordLength);
        Console.WriteLine("tries: {0}", program.tries);
        Console.WriteLine("time to crack: {0} seconds", elapsedTime);
    }
    System.Threading.Thread.Sleep(5000);
    Console.ForegroundColor = ConsoleColor.DarkYellow;
    Console.Write("nnpress any key to close");
    Console.ReadKey();
}

Please note, this isn’t an actual brute force password cracker. I simply made this for fun.

I don’t know why I am getting this error. I am using Repl.it at school since we are using chromebooks, but I don’t think the C# would be different. I’m debugging some code just to see what it looks like in the console, but it just simply won’t work. I am just getting errors. I’m using System.Diagnostics, System.IO, and System.

I know C# pretty well, so I don’t think I’m missing anything. I believe it’s just simply a Repl.it issue.

Here is my C# code:

public char firstchar = 'a';
public char lasrchar = 'z';

public int passwordLength = 6;
public long tries = 0;

public bool done = false;

public string password = "hey";

public void CreatePasswords(string keys) 
{
    if (keys == password) 
    {
        done = true;
    }
    if (keys.Length == passwordLength || done == true) 
    {
        return;
    }
    for (char c = firstchar; c <= lasrchar; c++) 
    {
        tries++;
        CreatePasswords(keys + c);
    }
}

static void Main(string[] args) 
{
    Program program = new Program();

    Console.ForegroundColor = ConsoleColor.DarkRed;
    Console.WriteLine("welcome to my brute force password cracker.");

    System.Threading.Thread.Sleep(3000);

    Console.Write("this program was created by ");
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("Volt");
    Console.ForegroundColor = ConsoleColor.DarkRed;
    Console.WriteLine(".");

    System.Threading.Thread.Sleep(2800);

    Console.WriteLine("note that passwords found in under a second won't tell you how many passwords per second they got.");

    System.Threading.Thread.Sleep(5000);

    Console.ForegroundColor = ConsoleColor.DarkYellow;
    Console.Write("nplease enter your password > ");

    program.password = Convert.ToString(Console.ReadLine());
    program.password = program.password.ToLower();

    //Debug.Log(program.password = Convert.ToString(Console.ReadLine()));
    //Debug.Log(program.password = program.password.ToLower());

    Console.ForegroundColor = ConsoleColor.DarkRed;
    Console.WriteLine("ncracking your password...");

    Stopwatch timer = Stopwatch.StartNew();

    program.passwordLength = program.password.Length;
    program.CreatePasswords(string.Empty);
    timer.Stop();

    //Debug.Log(program.passwordLength = program.password.Length);
    //Debug.Log(program.CreatePasswords(string.Empty));

    long elapsedMs = timer.ElapsedMilliseconds;
    double elapsedTime = elapsedMs / 1000;

    if (elapsedTime > 0) 
    {
        Console.WriteLine("nnyour password has been found! here are the statistics:");
        Console.WriteLine("----------------------------------");
        Console.WriteLine("password: {0}", program.password);
        Console.WriteLine("password length: {0}", program.passwordLength);
        Console.WriteLine("tries: {0}", program.tries);

        string plural = "seconds";

        if (elapsedTime == 1) 
        {
            plural = "second";
        }
        Console.WriteLine("time to crack: {0} {1}", elapsedTime, plural);
        Console.WriteLine("passwords per second: {0}", (long)(program.tries / elapsedTime));
    }
    else 
    {
        Console.WriteLine("nnyour password has been found! here are the statistics:");
        Console.WriteLine("----------------------------------");
        Console.WriteLine("password: {0}", program.password);
        Console.WriteLine("password length: {0}", program.passwordLength);
        Console.WriteLine("tries: {0}", program.tries);
        Console.WriteLine("time to crack: {0} seconds", elapsedTime);
    }
    System.Threading.Thread.Sleep(5000);
    Console.ForegroundColor = ConsoleColor.DarkYellow;
    Console.Write("nnpress any key to close");
    Console.ReadKey();
}

Please note, this isn’t an actual brute force password cracker. I simply made this for fun.

I have scriptcs and coderunner installed on Visual Studio Code. When I run a simple program that includes Console.WriteLine("Test") I don’t see any output. The program seems to run successfully and exits with code 0.

Any suggestions?

Here’s all the code in case anyone is interested:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Test");
    }
}

SSteve's user avatar

SSteve

10.5k5 gold badges46 silver badges72 bronze badges

asked Apr 5, 2017 at 16:49

Matt West's user avatar

7

In launch.json there should be a field called ‘console’:

Changing it from:

  "console": "internalConsole",

To:

  "console": "externalTerminal",

fixed it for me.

answered Dec 12, 2017 at 17:32

Tim's user avatar

TimTim

6235 silver badges12 bronze badges

5

If you are just trying to run a cs file without a project etc then the problem is that code runner is treating the file as a script. As such the main method is actually not being invoked as it would be if running a console app.

The solution therefore is to make your main method public and add a call to Program.Main(null); after the class definition. This solution does not require any launch.json config file or config changes. Note the call to Program.Main after the class definition does show as an error in VS code but it runs fine in code runner. See the code block below.

using System;
class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Test");
    }
}

Program.Main(null);

I found the answer to this here: https://stackoverflow.com/a/46179597

answered Nov 30, 2018 at 18:13

Kevin's user avatar

KevinKevin

961 silver badge2 bronze badges

0

It will show your output if you will press ctrl+F5. You will get the output in console window. Another solution, if you will write Console.ReadLine(); after console.writeline, it will remain open console window until you will not press any key.

answered Apr 5, 2017 at 17:01

Sachin Dubey's user avatar

1

An alternative would be to use Debug.WriteLine(«test») instead, it writes to the immediate window. Needs using System.Diagnostics

answered Feb 11, 2022 at 11:16

jonadv's user avatar

jonadvjonadv

4344 silver badges16 bronze badges

You need to add any one of following line code

Console.Readline()
Console.Read()
Console.ReadKey()

example:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Test");
        Console.ReadLine();
    }
}

answered Apr 5, 2017 at 17:04

mIhAwk's user avatar

mIhAwkmIhAwk

1191 silver badge7 bronze badges

1

The code did compile and then run but it wen’t very fast and the console application closed itself after the execution. To prevent this from happening you need to add another method like:

  • Console.Read();

or

  • Console.ReadLine();

(The Line stands for linefeed, that means that the cursor moves to the next line to the left).

This way, the application will close if you press the ‘enter’ key on your keyboard.

answered Apr 5, 2017 at 17:17

Kobrajunior's user avatar

1

You need to do this

Console.WriteLine("Hello");
string name = Console.ReadLine();

Jesse's user avatar

Jesse

3,4926 gold badges24 silver badges40 bronze badges

answered Jun 26, 2018 at 7:18

Nizam Ali's user avatar

1

  • Ошибка connectionfailure страница не найдена
  • Ошибка connectionfailure windows 10
  • Ошибка connection timed out no further information майнкрафт как исправить
  • Ошибка connection refused no further information minecraft
  • Ошибка connection refused 0x0000274d 10061