precompiledApp.config的目的是什么?

Mic*_*out 20 asp.net webforms precompiled

如果您预编译一个网站并保持其可更新,ASP.NET解析器可以从Page指令看到没有代码文件或代码隐藏以及在哪里找到基类(继承属性).

<%@ page language="C#" autoeventwireup="true" inherits="_Default, Precompiled"
  theme="Default" validaterequest="false" %>
Run Code Online (Sandbox Code Playgroud)

如果站点是预编译的并且不可更新,则bin文件夹中的.compiled文件应该为ASP.NET运行时提供有关如何实例化页面类的所有必要信息.

那么为什么需要预编译的App.config 呢?

谢谢!

Kei*_*ler 14

它用于指示您站点中的ASPX/ASCX页面是否可更新.您可以预编译并编译后面的代码,但保留这些页面可更新,以便您可以根据需要进行与GUI相关的微调.

  • 因为默认情况下ASP.NET会尝试编译.ASPX页面请求目录中的所有文件(包括代码隐藏)以及App_Code和标记为构建的文件(如果找不到此文件).如果找到.precompiledApp.config文件,它将查看它并确定是否仍然编译ASPX文件,因为它们可以被允许更新. (3认同)
  • 根据一些实验,我认为该文件没有任何作用。您可以预编译站点,使其可更新,然后用包含其代码文件的原始页面替换一页,并且两者都会被编译。precompiledApp.config不能确定是否编译页面,这似乎仅基于page指令确定。当可更新为false时,它可能会有所不同,但我尚未对此进行测试。 (2认同)