HOW TO:使用 ASP.NET 編譯工具產生固定名稱
更新:2007 年 11 月
ASP.NET 編譯工具 (Aspnet_compiler.exe) 會使用編譯時期產生而且隨著每次後續編譯時重新產生的組件 (Assembly) 名稱。這些產生的組件名稱能與整體部署的網站一起正常運作。不過這些名稱不適用於需要發行更新至特定網站部分,而不用重新部署整個網站的網站。
您可以使用 ASP.NET 編譯工具的 -fixednames 參數來產生固定的組件名稱。當您使用 -fixednames 參數時,ASP.NET 編譯工具將會進行下列工作:
針對應用程式中的每個 .aspx 頁面建立一個組件。您應該限制應用程式中的頁面數目,以減少產生的組件數目。
使用頁面的虛擬路徑做為頁面組件的名稱。如果虛擬路徑的長度超過作業系統的檔名長度限制,此工具就會改用虛擬路徑的雜湊。
將最上層目錄 (例如 App_Code 目錄) 中的檔案編譯成單一組件 (如同預設編譯)。
這個主題中的程序會使用 Aspnet_compiler.exe 的參數。如需此工具的相關詳細資訊,請參閱 ASP.NET 編譯工具 (Aspnet_compiler.exe)。
如需先行編譯的詳細資訊,請參閱 ASP.NET 網站先行編譯。
若要使用固定的組件名稱來編譯網站
開啟命令視窗並巡覽至包含 .NET Framework 的資料夾。
.NET Framework 會安裝在下列位置。
%windir%\Microsoft.NET\Framework\version
在命令提示字元上輸入下列命令,執行 aspnet_compiler 命令。
aspnet_compiler -v virtualPathtargetPath -fixednames
virtualPath 參數表示網站的網際網路資訊服務 (IIS) 虛擬路徑。targetPath 參數是目的目錄的實體路徑。
如果您的網站不是 IIS 應用程式,則因此在 IIS Metabase 中沒有項目,請在命令提示字元中輸入下列命令。
aspnet_compiler -p physicalOrRelativePath -v / targetPath -fixedNames
在這種情況下,physicalOrRelativePath 參數會參考網站檔案所在位置的完整目錄路徑,或是目前目錄的相對路徑。physicalOrRelativePath 參數中可以使用句點 (.) 運算子。-v 參數會指定編譯器用來解析應用程式根目錄參考的根目錄 (例如,使用波狀符號 (~) 運算子)。當您指定 -v 參數的值為 / 時,編譯器將會使用實體路徑當做根目錄來解析路徑。
targetPath 參數是目的目錄的實體路徑。