ASP.NET Deployment Tips

Top  Previous  Next

ASP.NET has some "special" folders used for deployment. You will need to create these folders from your project root folder. For example, if your project name is WebInvoice, in the project folder you will see the following sub-folders:

 

 

If your Web application includes code that you want to share between multiple pages, you can keep the code in one of two special folders underneath the root of your Web application; the Bin folder and the App_Code folder.

 

/bin

Used for dependent assemblies. You can store compiled assemblies in the /bin folder, and other code anywhere in the Web application (such as code for your pages) automatically references it. A typical example is that you have the compiled code for a custom class. You can copy the compiled assembly to the /bin folder of your Web application and the class is then available to all pages. If you change the DLL and copy a new version of it to the /bin folder, ASP.NET detects the update and uses the new version of the DLL for new page requests from then on.

 

The basic assemblies that need to be copied to the BIN folder are as follows:

 

Mono.Cecil.dll

SoftVelocity.Clarion.ClarionCodeProvider.dll

SoftVelocity.Clarion.CompilerMessages.dll

SoftVelocity.Clarion.FileIO.dll

SoftVelocity.Clarion.Runtime.Classes.dll

SoftVelocity.Clarion.Runtime.Procedures.dll

 

Security and Scope of the /bin Folder

Assemblies in the /bin folder are scoped to the current application. Therefore, they cannot access resources or invoke code outside the current Web application. At run time, the access levels of an assembly are established by the trust level specified on the local computer. For more information, see ASP.NET Trust Levels and Policy Files.

 

 

/app_code

Used for additional .CLN files you'd like ASP.NET to compile for you. Any source code or object that you want to be visible to your ASP.NET code pages should be copied here. You can store source code in the /app_code folder, and it will be automatically compiled at run time. The resulting assembly is accessible to any other code in the Web application. The /app_code folder works like the Bin folder, except that you can store source code in it instead of compiled code.

 

The /app_code folder can contain source code files, and it can also include files such as Web Service Description Language (.wsdl) files and XML schema (.xsd) files. ASP.NET can compile these files into assemblies.

 

The /app_code folder can contain as many files and subfolders as you need. You can organize your source code in any way that you find convenient, and ASP.NET will still compile all of the code into a single assembly that is accessible to other code anywhere in the Web application.

 

User controls are not allowed in the App_Code folder.

 

 

/app_webreferences

Used for WSDL files to be compiled into proxies.

 

/app_data

Used for arbitrary data files that won't be served up directly to a HTTP client

 

/app_browsers

Used for .browser files to declare what features a browser supports based upon the user agent header (this replaces <browserCaps> in machine.config).

 

/app_themes

Used for CSS and .skin files for use when applying a theme to a page.

 

/app_globalresources

Used for shared resource (resx) files and other localizable resources (also raw images can be placed here).

 

/app_localresources

Used for page, master and sitemap specific localizable resources (also raw images can be placed here)