ASP.NET Core App中project.json中的build选项下的preserveCompilationContext有什么用?

man*_*i30 9 .net-core asp.net-core

我是ASP.NET Core的新手.我试图了解project.json中的各种选项.但无法理解preserveCompilationContext的含义:在project.json中的构建选项下为true.根据microsoft 文档

它描述如下:

preserveCompilationContext

类型:布尔值

如果保留引用程序集和其他上下文数据以允许运行时编译,则为true; 否则,错误

先感谢您

svi*_*ick 12

据我所知,这主要用于Razor页面.它们在运行时编译,编译器需要访问引用程序集,以确保它正确编译.因此,要使用Razor页面,您需要进行设置preserveCompilationContext,然后在已发布的输出中包含所有必需的文件.

如果您不需要运行时编译,则无需进行设置preserveCompilationContext.

  • @PaulHiles 我相信 ASP.NET Core SDK (`Sdk="Microsoft.NET.Sdk.Web"`) 设置了 `<PreserveCompilationContext>`,因此您不必手动执行此操作。 (3认同)
  • 1000% 准确:) (2认同)