原文地址:http://www.w3school.com.cn/aspnet/mvc_publish.asp數據庫
學習如何在不使用 Visual Web Developer 的狀況下發布 MVC 應用程序。服務器
經過在 WebMatrix、Visual Web Developer 或 Visual Studio 中使用發佈命令,能夠將 ASP.NET MVC 應用程序發佈到遠程服務器。mvc
該功能會複製全部應用程序文件、控制器、模型、圖像以及全部必需的 DLL 文件,這些文件可能用於 MVC、Web Pages、Razor、Helpers、SQL Server Compact(若是使用了數據庫)。ide
有時您不但願使用這個選項。也許您的主機提供商只支持 FTP?也許您的網站基於經典 ASP?也許您但願本身來複制文件?也許您使用的是其餘發佈軟件?學習
您會遇到問題嗎?是的,會的。可是咱們能解決它。測試
要執行網站複製,您必須瞭解如何引用正確的文件,複製哪些 DLL 文件,把它們存放到何處。網站
請按照這些步驟:xml
在繼續以前,請確保您的主機運行最新版本的 ASP.NET (4.0)。ip
從開發機上把您的網站(全部文件夾和內容)複製到遠程主機(服務器)上的應用程序文件夾。開發
若是 App_Data 文件夾中包含測試數據,請不要複製這個 App_Data 文件夾。
在遠程服務器上的應用程序根目錄中建立 bin 文件夾。(若是您已安裝幫助器,則 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
到遠程服務器上的 bin 文件夾。
若是您的應用程序使用了 SQL Server Compact 數據庫(App_Data 文件夾中的 .sdf 文件),那麼您必須複製 SQL Server Compact 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 文件?
您是否但願將測試數據發佈到遠程服務器?
大多數時候是不但願。
若是您不得不復制 SQL 數據文件(sdf 文件),那麼您應該刪除數據庫中的全部數據,而後把這個空的 .sdf 文件從開發機複製到服務器。