【问题标题】:What are buildOptions and preserveCompilationContext used for?buildOptions 和 preserveCompilationContext 有什么用?
【发布时间】:2016-11-12 19:21:21
【问题描述】:

我正在使用刚刚发布的 ASP.NET Core。我创建了新项目,我正在查看project.json。我想知道这部分配置的用途:

"buildOptions": {
   "emitEntryPoint": true,
   "preserveCompilationContext": true
}

【问题讨论】:

    标签: c# .net asp.net-core .net-core project.json


    【解决方案1】:

    emitEntryPoint 用于让编译器知道它是一个应用程序,而不是一个库。换句话说,如果emitEntryPoint = true,你必须有一个public static void Main()

    来自docs

    如果设置为 true,则创建可执行文件,否则项目将生成 .dll

    preserveCompilationContext 没有记录在上面的页面中(还),但是当您使用 Razor 或任何其他类型的运行时编译时,它是必需的。没有它,Razor 视图的运行时编译将失败。

    【讨论】:

      【解决方案2】:

      这里有一个很好的 emitEntryPoint 答案:What does compilationOptions.emitEntryPoint mean?

      对于preserveCompilationContext,ASP.NET 文档声明它需要为真才能编译视图:https://docs.asp.net/en/latest/migration/rc1-to-rtm.html

      【讨论】:

        【解决方案3】:

        在我的例子中,ASP.NET Core 1.1,

        “preserveCompilationContext”:真

        构建时间为 9 秒,设置为 false 后,构建时间更快,约 1 秒。

        我的应用程序仅适用于 Web Api。

        参考:issue version 1.1

        【讨论】:

          猜你喜欢
          • 2021-11-03
          • 1970-01-01
          • 1970-01-01
          • 2011-02-13
          • 2019-11-24
          • 2011-03-23
          • 2016-06-24
          • 2018-10-01
          • 2012-08-24
          相关资源
          最近更新 更多