为什么Console.WriteLine不能在Visual Studio代码中工作?

Mat*_*est 10 c# scriptcs visual-studio-code vscode-code-runner

我在Visual Studio Code上安装了scriptcs和coderunner.当我运行一个简单的程序,包括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");
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 7

在launch.json中,应该有一个名为“ console”的字段:

更改自:

  "console": "internalConsole",
Run Code Online (Sandbox Code Playgroud)

至:

  "console": "externalTerminal",
Run Code Online (Sandbox Code Playgroud)

为我修复它。

  • 顺便说一句:如果您不想拥有单独的控制台(终端)窗口,您也可以使用“integratedTerminal”。这是官方文档:https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window (4认同)

小智 6

如果您只是尝试在没有项目等的情况下运行CS文件,则问题在于代码运行程序会将文件视为脚本。因此,实际上并没有像运行控制台应用程序那样调用main方法。

因此,解决方案是公开您的main方法,并添加对Program.Main(null);的调用。在类定义之后。此解决方案不需要任何launch.json配置文件或配置更改。请注意,类定义在VS代码中确实显示为错误之后对Program.Main的调用,但在代码运行程序中运行良好。请参见下面的代码块。

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

Program.Main(null);
Run Code Online (Sandbox Code Playgroud)

我在这里找到了答案:https : //stackoverflow.com/a/46179597