|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
How to: Generate Fixed Names with the ASP.NET Compilation Tool
The ASP.NET Compilation Tool (Aspnet_compiler.exe) uses assembly names that are generated at compile time and are regenerated with each subsequent compilation. These generated assembly names work well with Web sites that are deployed as a whole; they are not well suited to Web sites that need to release updates to specific portions of the Web site without redeploying the entire Web site.
You can use the -fixednames switch for the ASP.NET Compilation Tool to generate fixed-assembly names. When you use the -fixednames switch, the ASP.NET Compilation Tool will do the following:
Create an assembly for each .aspx page in the application. You should limit the number pages in your application to reduce the number of assemblies that are generated.
Use the virtual path to the page as the name of the page's assembly. If the length of the virtual path exceeds the file-name length limit of the operating system, the tool uses a hash of the virtual path instead.
Compile the files in top-level directories, such as the App_Code directory, into a single assembly (like default compilation).
The procedure in this topic uses the switches and parameters of Aspnet_compiler.exe. For more information about this tool, see.
For more information about precompilation, see.
To compile a Web site with fixed-assembly names
Open a command window and navigate to the folder containing the .NET Framework.
The .NET Framework is installed in the following location.
aspnet_compilercommand by typing the following at a command prompt.
aspnet_compiler -v virtualPath targetPath -fixednames
The virtualPath parameter indicates the Internet Information Services (IIS) virtual path of your Web site. The targetPath parameter is a physical path to the destination directory.
If your Web site is not an IIS application, and therefore has no entry in the IIS metabase, type the following at a command prompt.
aspnet_compiler -p physicalOrRelativePath -v / targetPath -fixedNames
In this case, the physicalOrRelativePath parameter refers to the fully qualified directory path in which the Web site files are located, or a path relative to the current directory. The period (.) operator is allowed in the physicalOrRelativePath parameter. The -v switch specifies a root that the compiler will use to resolve application-root references (for example, with the tilde (~) operator). When you specify the value of / for the -v switch, the compiler will resolve the paths using the physical path as the root.
The targetPath parameter is a physical path to the destination directory.