在.Net Core中使用Console.Write

问题描述 投票:7回答:3

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

不幸的是System.Console最初不可用。这是我的代码:

using System;

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

我应该安装什么包?

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

c# .net-core .net-mac
3个回答
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"
      }
    }
  }
}

34
投票

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


7
投票

只需添加NuGet包

System.Console

到你的项目。没有必要与project.json混在一起。这样,您还可以获得最新(稳定)版本。

一个问题:如果您将控制台项目命名为Something.Console,请务必完全限定写入路径,即

System.Console.Write();

© www.soinside.com 2019 - 2024. All rights reserved.