如何构建一个在.NET CoreCLR上运行的hello-world控制台应用程序?

时间:2015-10-30 15:26:41

标签: .net console-application coreclr

我想使用.NET CoreCLR运行一个hello-world控制台应用程序。

到目前为止,我的代码如下。

   java.lang.NoSuchMethodError: No static method getMaxLines(Landroid/widget/TextView;)I in class Landroid/support/v4/widget/TextViewCompat; or its super classes (declaration of 'android.support.v4.widget.TextViewCompat' appears in /data/app/com.tabe3.news-1/base.apk:classes38.dex)
   at android.support.design.widget.TabLayout$TabView.update(TabLayout.java:1325)
   at android.support.design.widget.TabLayout$TabView.<init>(TabLayout.java:1185)
   at android.support.design.widget.TabLayout.createTabView(TabLayout.java:655)
   at android.support.design.widget.TabLayout.addTabView(TabLayout.java:690)
   at android.support.design.widget.TabLayout.addTab(TabLayout.java:385)
   at android.support.design.widget.TabLayout.addTab(TabLayout.java:360)

// Program.cs

using System;

namespace Study
{
    public class Program
    {
        public void Main()
        {
            Console.WriteLine("Hello world!");
        }
    }
}

我正在尝试使用以下命令运行此项目:

// project.json

{
  "frameworks": {
    "dnxcore50": { }
  }
}

然而,这会产生以下错误:

dnvm use 1.0.0-beta8 -r coreclr
dnx run

2 个答案:

答案 0 :(得分:6)

项目缺少System.Console依赖

这就是框架/依赖关系部分的外观:

"dependencies": {
},

"frameworks": {
  "dnxcore50": {
    "dependencies": {
      "System.Console": "4.0.0-beta-*"
    }
  }
}

这是我认为最小的一套。

运行使用:

dnvm use 1.0.0-beta8 -r coreclr
dnu restore
dnx run

答案 1 :(得分:0)

对于CoreCLR,您需要直接或过渡地引用System.Runtime

所以你的project.json文件应该是:

{
    "frameworks": {
        "dnxcore50": { 
            "System.Runtime": "4.0.21-beta-*",
            "System.Runtime.Extensions": "4.0.11-beta-*"
        }
    }
}
相关问题