
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Prebuilding an ASP.NET Web Site Programmatically
|
811
14.12 Prebuilding an ASP.NET Web Site
Programmatically
Problem
You want to prebuild your web site to avoid compilation delays and to avoid the
hosting scenario in which source code needs to be on the server.
Solution
Use the ClientBuildManager to prebuild your web site into an assembly. In order to
prebuild the web site, you must specify:
• The virtual directory for the web application
• The physical path to the web application directory
• The location where you want to build the web application
• Flags that help control the compilation
To prebuild the web application in the sample code for the book, first retrieve the
directory where the web application is located, then provide a virtual directory name
and a location for the web application to build to:
// Get the path to the web app shipping with this code...
string cscbWebPath = GetWebAppPath( );
// Make sure we have a web path.
if(cscbWebPath.Length>0)
{
string appVirtualDir = @"CSCBWeb";
string appPhysicalSourceDir = cscbWebPath;
// Make the target an adjacent directory as it cannot be in the same tree
// or the build manager screams...
string appPhysicalTargetDir = Path.GetDirectoryName(cscbWebPath) + @"\BuildCSCB";
Next, set up the flags for the compile using the PrecompilationFlags ...