Precompiles an ASP.NET application, provides a callback method to receive status information about the build, and indicates whether to create a clean build.
- callback
- A System.Web.Compilation.ClientBuildManagerCallback containing the method to call when reporting the result of compilation.
- forceCleanBuild
- true to perform a clean build, which will first delete all object and intermediate files; false to rebuild only those files that have changed. Set to true if there is a chance that a dependency might not be picked up by the build environment.
ASP.NET supports three forms of precompilation. One form allows for the in-place precompilation of an ASP.NET application. In this form, the site is deployed to production and then precompiled, which eliminates the need to dynamically compile the site when it is first visited by a user. The first user of the site will not experience the delay normally encountered on a site that is dynamically compiled. The callback parameter contains the method to call when reporting the result of compilation.
The two other forms of precompilation are used for deployment. In either form, a layout of the site is generated that can be deployed to a production computer. One of these forms includes the markup pages so some amount of updating can be performed on the compiled site. The other form does not contain the markup pages and therefore cannot be updated without recompiling the original site. No source code is deployed to the target environment in either of these forms of precompilation.
The application to precompile is defined through the System.Web.Compilation.ClientBuildManager constructor. The System.Web.Compilation.ClientBuildManagerParameter object of the ClientBuildManager.#ctor(string, string, string, ClientBuildManagerParameter) constructor defines which of the three forms of precompilation to perform.
A developer can precompile a Web site with the aspnet_compiler command-line tool or by calling the ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback) method.