ASP.NET MVC - 發佈網站
學習如何在不使用 Visual Web Developer 的情況下發布 MVC 應用程式。
在不使用 Visual Web Developer 的情況下發布您的應用程式
通過在 WebMatrix、Visual Web Developer 或 Visual Studio 中使用發佈命令,可以發佈一個 ASP.NET MVC 應用程式到遠程伺服器上。
此功能會複製所有您的應用程式檔、控制器、模型、圖像以及用於 MVC、Web Pages、Razor、Helpers、SQL Server Compact(如果使用資料庫)所有必需的 DLL 檔。
有時您不希望使用這些選項。或許您的主機提供商僅支持 FTP?或許您的網站基於經典 ASP?或許您希望親自拷貝這些檔?又或許您希望使用 Front Page、Expression Web 等其他一些發佈軟體?
您會遇到問題嗎?是的,會的。但是您有辦法解決它。
要執行網站複製,您必須知道如何引用正確的檔,哪些 DLL 檔需要複製,並在何處存儲它們。
請按照下列步驟操作:
1. 使用最新版本的 ASP.NET
在您繼續操作之前,請確保您的主機運行的是最新版的 ASP.NET(4.0 或者 4.5)。
2. 複製 Web 檔夾
從您的開發電腦上複製您的網站(所有檔夾和內容)到遠程主機(伺服器)上的應用程式檔夾中。
如果您的 App_Data 檔夾中包含測試數據,請不要複製這個 App_Data 檔夾(詳見下麵的第 5 點)。
3. 複製 DLL 檔
在遠程伺服器上的應用程式根目錄中創建 bin 檔夾。(如果您已經安裝 Helpers,則 bin 檔夾已經存在)
複製下列檔夾中的所有檔:
C:Program Files (x86)Microsoft ASP.NETASP.NET Web Pagesv1.0Assemblies
C:Program Files (x86)Microsoft ASP.NETASP.NET MVC 3Assemblies
到您的遠程伺服器上的應用程式的 bin 檔夾中。
4. 複製 SQL Server Compact DLL 檔
如果您的應用程式使用了 SQL Server Compact 資料庫(在 App_Data 檔夾中的一個 .sdf 檔),那麼您必須複製 SQL Server Compact DLL 檔:
複製下列檔夾中的所有檔:
C:Program Files (x86)Microsoft SQL Server Compact Editionv4.0Private
到您的遠程伺服器上的應用程式的 bin 檔夾中。
創建(或者編輯)應用程式的 Web.config 檔:
實例 C#
<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>
5. 複製 SQL Server Compact 數據
您的 App_Data 檔夾中有沒有包含測試數據的 .sdf 檔?
您是否希望發佈您的測試數據到遠程伺服器上?
大多數時候一般是不希望。
如果您一定要複製 SQL 數據檔(.sdf 檔),那麼您應該刪除資料庫中的所有數據,然後從您的開發電腦上複製一個空的 .sdf 檔到伺服器上。
就是這樣。GOOD LUCK!