【发布时间】:2016-01-08 08:09:12
【问题描述】:
我一直在尝试在 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 作为实例方法,因此我可以添加 Program 的无参数构造函数并具有一些依赖注入魔法。但是当我删除“静态”时,Visual Studio 会给我以下错误:
"程序没有适合条目的静态 'Main' 方法 点”。
我注意到在 project.json 文件中我有以下条目:
"compilationOptions": {
"emitEntryPoint": true
}
如果我将其更改为 false。应用程序构建但它不执行 Main 方法。但它似乎确实调用了我的程序构造函数。那么我应该手动调用 Main() 吗?我觉得我在这里做错了什么。我将不胜感激。
【问题讨论】:
-
“ASP.Net 5 中的控制台应用程序” – 这听起来有点奇怪……我认为使用 DNX 获得“类似控制台”体验的唯一方法是使用命令功能。以dnx ef后面的代码为例。
-
这里是 ASP.Net 5 docs.asp.net/en/latest/dnx/console.html 中控制台应用程序的快速介绍。如果我删除了更奇怪的“string[] args”参数,它似乎会执行 Main 方法.. –
标签: c# console-application asp.net-core dnx