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, он будет держать терминал открытым, пока вы не нажмете клавишу.
Ну, 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