Visual Studio Code Cant получает вывод из кода C#

Я пытаюсь запустить простой код Hello World в VSC 1.13.1.

using System;

public class Hello1
{
    public static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

Он успешно завершает выполнение, но не выдает никаких результатов, т. Е. - Hello, World!

Любая помощь, пожалуйста!

Использование Code Runner.

4 ответа

Добавлять Console.ReadKey(), так что выход будет там, пока не будет нажата клавиша

   public static void Main()
   {
     Console.WriteLine("Hello, World!");
     Console.ReadKey();
   }

В настоящее время, похоже, проблема с VSCode (или расширением C#). Другие ответы Stackru показывают, что это не сработало несколько лет назад, затем оно начало работать, а теперь (2018) оно снова не работает.

У меня та же проблема. Обходной путь, который я нашел, заключается в следующем: если я запускаю свой код в отладчике (Debug > Start Debugging), он показывает вывод. Но если я просто запускаю это нормально, это не так. Это единственный обходной путь, который я нашел или прочитал о том, что работает для меня.

Другой вариант - запустить проект с помощью Ctrl + F5 вместо просто F5, он будет держать терминал открытым, пока вы не нажмете клавишу.

Как сохранить окно консоли открытым в Visual C++?

Ну, Code Runner - это инструмент для запуска сценария C#. Он будет рассматривать основной метод как обычный метод и не будет его вызывать.

Вам нужно просто написать метод Main:

System.Console.WriteLine("hello, world");

или

static class Test
{
  public static void Main()
  {
    System.Console.WriteLine("hello, world");
  }
}

Test.Main();

До меня дошло, что использование Code Runner в настоящее время действительно приводит к некоторому противоречивому поведению и для JS.
Однако, на первый взгляд, вы не установили надлежащие вспомогательные дополнения (которые могут быть причиной вашей конкретной проблемы): Code Runner требует: "Чтобы запустить скрипт C#, вам нужно установить scriptcs", который, как говорят, использует пакет Chocolatey менеджер для Windows.

На данный момент отключение расширения, перезапуск VSCode и последующее его включение - исправили текущую распространенную проблему для JS (не всегда производящую вывод). Который также может предшествовать C#.
NB! Убедитесь, что вы сохранили свои файлы вручную, прежде чем запускать их с помощью Code Run

Я проверю это сегодня и добавлю результаты.

Результаты теста: после установки scriptcs и Chocolatey ваш файл HelloWorld.cs может работать, НО не даст результата.Причина: код трактуется как скрипт. Это означает, что нет ничего вызывающего метод Main(). То есть ты должен это сделать. Пример:

using System;
public class Hello
{
     public static void Main()
    {
        var message = "hiiii inside => Works"   ;
        Console.WriteLine(message);
        HW();
    }

    public static void HW(){
        Console.WriteLine("Hello, World!");
        // the ReadLine will not work because it is only one way solution : ouptut only
        // var a = Console.ReadLine();
        // Console.WriteLine("key pressed: " + a + "Doesn't work");
    }
}

Hello.Main();
//can be used like this as well
var message= "Hey helloooo outside WORKS";
Console.WriteLine(message);

Используйте Ctrl+Alt+N, чтобы начать, и Ctrl+Alt+M, чтобы остановить(если завис). И это будет зависать, если вы используете Console.ReadLine(); - проверьте (раскомментируйте) пример кода в методе HW().

Пространства имен PS нельзя использовать в скриптах - это будет сообщение об ошибке, которое вы получите, если попытаетесь использовать их с Code Runner

Другие вопросы по тегам