ASP.NET 2.0 提供動態編譯與預先編譯兩種編譯模型,開發者可根據專案特性靈活選擇,兼顧開發效率與部署效能。
Temporary ASP.NET Files 目錄下產生組件,**專案 bin 目錄不再有專案組件**。使用 aspnet_compiler.exe (或 VS「建置/發布網站」) 部署前編譯整站。
| 場景 | 建議模式 | 理由 |
|---|---|---|
| 開發/測試環境 | 動態編譯 | 即時修改驗證,無需重新編譯部署 |
| 中小型生產網站、頻繁更新內容 | 動態編譯 或 預先編譯(可更新) | 平衡部署便利性與效能 |
| 大型高流量生產網站 | 預先編譯(不可更新) | 極致效能、原始碼保護、啟動零延遲 |
| ISV 商業套裝軟體部署 | 預先編譯(不可更新) | 智慧財產權保護、防止客戶修改核心邏輯 |
| 共享主機/虛擬主機 | 動態編譯 或 預先編譯(可更新) | 權限限制下靈活修改標記樣式 |
aspnet_compiler.exe -v /MyApp -p "C:\Source" "C:\Deploy":原地預先編譯aspnet_merge.exe:合併組件、控制命名、強式名稱簽署理解編譯模型差異,能為專案制定最適合的開發部署策略,在效能、安全性與維護性間取得最佳平衡。