【问题标题】:C# Console Application in ASP.NET 5ASP.NET 5 中的 C# 控制台应用程序
【发布时间】:2016-01-20 10:48:05
【问题描述】:

我现在遇到一个问题,就是我目前正在尝试用较新版本的ASP.NET 5(RC1,CoreCLR)创建一个控制台应用程序,代码如下:

using System;
public class MyTestClass {
        public static void Main(string[] args) {
              Console.Write("Hello StackOverflow");
        }
}

执行dnx run时出现以下错误:

does not contain a static 'Main' method suitable for an entry point

到目前为止一切顺利,我进行了一些研究,发现解决方案是:您需要一个名为“程序”的类作为入口点。 因此,为了完成这项工作,我的代码现在是:

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

我的最后一个问题是:为什么我必须在 ASP.NET 5 中实现一个类 Program 作为入口点??? 如果在旧版本中第一个代码完美运行,这是一些新的吗? C# 6.0 的功能?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    这就是 ASP.NET 5.0 的工作方式,而不是 C# 6.0。

    基于Creating a Cross-Platform Console App with DNX

    dnx 命令用于执行托管入口点(一个 Program.Main 函数)在程序集中。默认情况下,dnx 运行命令 在当前目录中查找要运行的项目。指定一个 不同的目录,使用 --project 开关。

    另请阅读 GitHub 上的 MS ASP.NET 公告:Moving towards unification of entry point semantics with desktop CLR

    支持实例化入口点类型(程序)。主要的 方法应该是 public static void Main 或 public static int Main。

    【讨论】:

    • 非常感谢!它澄清了我的想法!竖起大拇指!
    • @Bruno - 如果这已经回答了您的问题,那么请将其标记为已回答。
    • 这是在RC2中再次更改/更改,请参考this SO question,其中引用了this github PR
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多