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#

<?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>


5. 複製 SQL Server Compact 數據

您的 App_Data 檔夾中有沒有包含測試數據的 .sdf 檔?

您是否希望發佈您的測試數據到遠程伺服器上?

大多數時候一般是不希望。

如果您一定要複製 SQL 數據檔(.sdf 檔),那麼您應該刪除資料庫中的所有數據,然後從您的開發電腦上複製一個空的 .sdf 檔到伺服器上。

就是這樣。GOOD LUCK!