Console.Write in .Net Core

21

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

遗憾的是,初始时System.Console不可用。这是我的代码:

using System;

class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello from Mac");        
    }
}

我应该安装哪个包?

顺便说一下,我正在使用带有VSCode和.NET Core RC1更新2的Mac。

3个回答

80

另外,为了避免让其他人遇到小问题:不要像我一样将项目命名为“MyThing.Console”,否则您代码中的Console引用将不会引用System.Console,而是寻找名为WriteLine类型的您的命名空间!


2
哦,亲爱的...我该说什么? - El Mac
3
我简直不敢相信这就是我做的事,甚至没有注意到。唉。谢谢。 - Nikki9696
10
当我想要点赞这个回答的时候,发现去年我已经给它点过赞了,这说明了什么关于我? - Ken Smith
1
谢谢,这让我疯了。这正是我的问题所在。将项目重命名为没有 .Console 后缀解决了我的问题。 - mittmemo

14

只需添加NuGet包

System.Console

到您的项目中。无需操心project.json文件。这样,您还可以获得最新(稳定)版本。

一个需要注意的地方:如果您将控制台项目命名为Something.Console,请确保完全限定Write方法的路径,即:

System.Console.Write();


11

请确保在您的project.json文件中,系统控制台已经在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"
      }
    }
  }
}

1
没错,它起作用了。您能否提供一个project.son文件的示例内容以备将来参考? - mehrandvd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接