刚刚安装了rc1工具,并创建了一个新的Web项目,看看模板中发生了什么变化。
我注意到project.json现在包含:
"compilationOptions": { "emitEntryPoint": true }
但是目前还不清楚这是做什么的。
有没有人有想法?
解决方法
如下所示:它看起来像编译器的一个标志,指示该项目是一个控制台应用程序与一个库(即:控制台应用程序必须包含public static void Main())
你可以从source这里看到。
在新的RC1默认Web应用程序模板中,您将注意到Startup.cs的底部有一个新的表达式bodied方法作为入口点:
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
如果你删除这个方法然后执行一个构建(dnu构建)你会得到一个错误:
error CS5001: Program does not contain a static 'Main' method suitable for an entry point
但是,如果将emitEntryPoint标志更改为false并尝试重新构建,则它将成功。这是因为它正在创建一个库而不是一个控制台应用程序。