我正在玩刚刚发布的 ASP.NET Core。我创建了新项目,我正在查看project.json
. 我想知道这部分配置的用途是什么:
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
}
我正在玩刚刚发布的 ASP.NET Core。我创建了新项目,我正在查看project.json
. 我想知道这部分配置的用途是什么:
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
}
emitEntryPoint用于让编译器知道它是一个应用程序,而不是一个库。换句话说,如果emitEntryPoint = true
,你必须有一个public static void Main()
。
从文档:
如果设置为 true,则创建可执行文件,否则项目将生成
.dll
.
preserveCompilationContext没有记录在上面的页面中(还),但是当您使用 Razor 或任何其他类型的运行时编译时,它是必需的。没有它,Razor 视图的运行时编译将失败。
这里有一个很好的 emitEntryPoint 答案:compileOptions.emitEntryPoint 是什么意思?
至于 preserveCompilationContext ASP.NET 文档声明它需要为真才能编译视图:https ://docs.asp.net/en/latest/migration/rc1-to-rtm.html
就我而言,ASP.NET Core 1.1,
“preserveCompilationContext”:真
在 9 秒内获得构建时间,设置为 false 后,构建时间变得更快,~1s。
我的应用程序仅适用于 Web Api。
参考:问题版本 1.1