我现在面临一个问题,就是我正在尝试使用较新版本的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的入口点??? 如果在旧版本中第一个代码完美运行,这是一些新的C#6.0的功能?
答案 0 :(得分:1)
这就是ASP.NET 5.0的工作方式,而不是C#6.0。
基于Creating a Cross-Platform Console App with DNX
dnx命令用于执行托管入口点(a Program.Main函数)在程序集中。默认情况下,dnx run命令 在当前目录中查找要运行的项目。指定一个 不同的目录,使用-project开关。
另请参阅GitHub上的MS ASP.NET公告:Moving towards unification of entry point semantics with desktop CLR
支持实例化入口点类型(Program)。主要的 方法应该是public static void Main或public static int Main。