我一直在尝试在ASP.Net 5中构建一个控制台应用程序,并且在入口点遇到了一些麻烦。我看了下面的内容: Entry point can be marked with the 'async' modifier on CoreCLR? 和 https://msdn.microsoft.com/en-us/magazine/dn913182.aspx。 当我使用Visual Studio 2015创建控制台应用程序(包)时,它会创建以下程序文件
public class Program
{
public static void Main(string[] args)
{
}
}
但是我想利用实例将Main作为实例方法,这样我就可以添加一个无参数的构造函数和一些依赖注入魔法。但是当我删除“静态”时,Visual Studio给出了以下错误:
“程序没有适合条目的静态'Main'方法 点”。
我注意到在project.json文件中我有以下条目:
"compilationOptions": {
"emitEntryPoint": true
}
如果我将此更改为false。应用程序构建但不执行Main方法。但它似乎确实调用了我的程序构造函数。我是否应该手动调用Main()?我觉得我在这里做错了什么。我将不胜感激任何帮助。
答案 0 :(得分:2)
DNX平台希望与常规prefix operator * {}
prefix func * (rhs: Int) -> Int {
return rhs*rhs
}
let i : Int = *2 // 4, OK
入口点兼容。因此,控制台应用程序需要具有静态入口点:
Program.Main
自RC1以来,它已被更改:https://github.com/aspnet/Announcements/issues/113
相关:Runtime services no longer get injected into DNX console app (RC1)