在.Net Core中使用Console.Write

meh*_*dvd 8 c# .net-core .net-mac

我开始学习.Net Core.我想写一个简单的'Hello World'控制台应用程序.

不幸的System.Console是最初没有.这是我的代码:

using System;

class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello from Mac");        
    }
}
Run Code Online (Sandbox Code Playgroud)

我应该安装什么包?

仅供参考,我正在使用Mac和VSCode以及.net核心rc1更新2.

Dus*_*sty 38

另外,为了节省其他人的轻微头痛:不要像我一样错误地命名你的项目"MyThing.Console",或者Console你的代码中的引用不会引用System.Console,它会引用你的命名空间对于一个叫做的类型WriteLine!

  • 我不敢相信这就是我所做的,甚至没有注意到。叹。谢谢。 (3认同)
  • 哦亲爱的...我该怎么说呢? (2认同)
  • 对于我来说,当我去投票赞成这个答案时,我发现我去年已经投票了吗? (2认同)

Dan*_*aan 10

请确保在您的project.json system.console中引用 frameworks:dnxcore50:dependencies

示例project.json:

{
  "version": "1.0.0-*",
  "description": "ConsoleApp1 Console Application",
  "authors": [ "danny" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "compilationOptions": {
       "emitEntryPoint": true
  },

  "dependencies": {
  },

  "commands": {
    "ConsoleApp1": "ConsoleApp1"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Console": "4.0.0-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


Mon*_*sto 8

只需添加NuGet软件包

系统控制台

到您的项目。无需费劲地关注project.json。这样,您还可以获得最新(稳定)的版本。

一个陷阱:如果您将控制台项目命名为Something.Console,请确保完全限定Write的路径,即

System.Console.Write();

  • 这是现在(2019)的正确答案。 (3认同)