<

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x

Precompile an ASP .net website and publish it without source code or markup

Published on
11,219 Points
5,219 Views
Last Modified:
Approved
If you build your web application in Visual Studio you'll get at least a few binaries, or .DLL, files in your bin folder. However, there is more compiling to be done. Normally this would happen when an ASP.NET resource within the web site is requested for the first time after restart.   You can avoid this first-time-access compilation by deploying your web application in a precompiled state!

Precompile your web application before deployment

When you precompile your web application the following takes place:

All markup files (.aspx) are stripped of their content
All web service files (.asmx) are stripped of their content
All code-behind files (.cs) are removed
All user control files (.ascx) are removed

This means that you will be able to deploy your website entirely without readable markup or source code.

You still need all the markup files in the correct places, but they will no longer contain any actual markup.  So, in the future you won't have to worry about updating .aspx files - unless new ones have been added to the web application.

How to precompile your website

In order to precompile your web application you need to use a simple command prompt command. If you wanted you could add this command to a post-build event to automate the process.

The precompilation is carried out by the aspnet_compiler executable located in your .NET installation folder. If you run the Visual Studio command prompt you won't have to worry about that though - the path variable is then set so that you can execute the aspnet_compiler executable regardless of what folder you are in.

If you use the standard command prompt (cmd) you'll have to switch to the correct .NET installation folder, for example:

cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Open in new window

Example:  Let's say I have a website located in C:MyWebSite. In order to precompile this website I use aspnet_compiler and specify a target folder for the precompiled output:

aspnet_compiler -p C:MyWebsite -v / C:MyPrecompiledWebsite

Open in new window

The  C:MyPrecompiledWebsite will now contain a precompiled version of the web application. All markup and web service files will now be empty.

You are now ready to deploy!

If you want more information visit the below link:

    ASP.NET Web Site Precompilation  
    http://msdn.microsoft.com/en-us/library/ms228015(VS.85).aspx
0
Comment
Author:manunadh
0 Comments

Featured Post

Protecting & Securing Your Critical Data

Considering 93 percent of companies file for bankruptcy within 12 months of a disaster that blocked access to their data for 10 days or more, planning for the worst is just smart business. Learn how Acronis Backup integrates security at every stage

Join & Write a Comment

Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
A query can call a function, and a function can call Excel, even though we are in Access. This is Part 2, and steps you through the VBA that "wraps" Excel functionality so we can use its worksheet functions in Access. The declaration statement de…

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month