掌握在不使用 Visual Web Developer 或 Visual Studio 的情況下,手動將 MVC 應用程式發布至遠端伺服器的完整流程與關鍵步驟。
雖然 Visual Studio、WebMatrix 等工具提供一鍵發布功能,可自動複製應用程式檔案、控制器、模型、圖片以及 MVC、Web Pages、Razor、Helpers、SQL Server Compact 所需的所有 DLL,但實際開發環境往往受限於主機提供商的限制:
手動部署確實會遇到挑戰,但只要掌握正確的檔案參考、必要 DLL 複製與存放位置,即可順利完成部署。
操作前請務必確認遠端主機運行 ASP.NET 4.0 或 4.5 以上版本,這是 MVC 應用程式正常運行的基礎環境需求。
將開發機上完整的網站資料夾(包含所有子資料夾與檔案)複製至遠端伺服器的應用程式根目錄。
App_Data 資料夾包含測試資料,請勿直接複製此資料夾,資料庫部署請參考後續步驟 5。
在遠端伺服器應用程式根目錄下建立 bin 資料夾(若已安裝 Helpers 則可能已存在),並從開發機複製以下路徑的所有檔案至該 bin 目錄:
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies
這些組件包含 MVC 運行時、Razor 引擎、Web Pages 核心庫等關鍵元件。
若應用程式使用 SQL Server Compact(App_Data 下的 .sdf 檔案),必須額外部署資料庫引擎 DLL:
來源路徑:C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private
目標路徑:遠端伺服器應用程式的 bin 資料夾
同時需在應用程式根目錄建立或修改 Web.config,註冊資料庫提供者:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add invariant="System.Data.SqlServerCe.4.0"
name="Microsoft SQL Server Compact 4.0"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
</configuration>
原則:不要將測試資料部署至正式環境。
App_Data 中的 .sdf 檔案包含測試資料,請先清空資料庫內容.sdf 檔案至伺服器| 步驟 | 項目 | 狀態 |
|---|---|---|
| 1 | 確認主機 ASP.NET 版本 ≥ 4.0 | ☐ |
| 2 | 複製網站檔案(排除測試用 App_Data) | ☐ |
| 3 | 部署 MVC/Web Pages 核心 DLL 至 bin 目錄 | ☐ |
| 4 | 部署 SQL Server Compact DLL 並設定 Web.config | ☐ |
| 5 | 部署空資料庫檔案 | ☐ |
完成上述步驟後,您的 ASP.NET MVC 應用程式即可在遠端伺服器上正常運行。祝部署順利!