ASP.Net 5控制台应用程序入口点

时间:2016-01-08 08:09:12

标签: c# console-application asp.net-core dnx

我一直在尝试在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()?我觉得我在这里做错了什么。我将不胜感激任何帮助。

1 个答案:

答案 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)