ASP.NET MVC - 發(fā)布網(wǎng)站
學(xué)習(xí)如何在不使用 Visual Web Developer 的情況下發(fā)布 MVC 應(yīng)用程序。
在不使用 Visual Web Developer 的情況下發(fā)布您的應(yīng)用程序
通過(guò)在 WebMatrix、Visual Web Developer 或 Visual Studio 中使用發(fā)布命令,可以將 ASP.NET MVC 應(yīng)用程序發(fā)布到遠(yuǎn)程服務(wù)器。
該功能會(huì)復(fù)制所有應(yīng)用程序文件、控制器、模型、圖像以及所有必需的 DLL 文件,這些文件可能用于 MVC、Web Pages、Razor、Helpers、SQL Server Compact(如果使用了數(shù)據(jù)庫(kù))。
有時(shí)您不希望使用這個(gè)選項(xiàng)。也許您的主機(jī)提供商只支持 FTP?也許您的網(wǎng)站基于經(jīng)典 ASP?也許您希望自己來(lái)復(fù)制文件?也許您使用的是其他發(fā)布軟件?
您會(huì)遇到問(wèn)題嗎?是的,會(huì)的。但是我們能解決它。
要執(zhí)行網(wǎng)站復(fù)制,您必須了解如何引用正確的文件,復(fù)制哪些 DLL 文件,把它們存放到何處。
請(qǐng)按照這些步驟:
1. 使用最新版本的 ASP.NET
在繼續(xù)之前,請(qǐng)確保您的主機(jī)運(yùn)行最新版本的 ASP.NET (4.0)。
2. 復(fù)制 Web 文件夾
從開(kāi)發(fā)機(jī)上把您的網(wǎng)站(所有文件夾和內(nèi)容)復(fù)制到遠(yuǎn)程主機(jī)(服務(wù)器)上的應(yīng)用程序文件夾。
如果 App_Data 文件夾中包含測(cè)試數(shù)據(jù),請(qǐng)不要復(fù)制這個(gè) App_Data 文件夾。
3. 復(fù)制 DLL 文件
在遠(yuǎn)程服務(wù)器上的應(yīng)用程序根目錄中創(chuàng)建 bin 文件夾。(如果您已安裝幫助器,則 bin 文件夾已經(jīng)存在)
從您的文件夾中復(fù)制以下所有文件:
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
到遠(yuǎn)程服務(wù)器上的 bin 文件夾。
4. 復(fù)制 SQL Server Compact DLL 文件
如果您的應(yīng)用程序使用了 SQL Server Compact 數(shù)據(jù)庫(kù)(App_Data 文件夾中的 .sdf 文件),那么您必須復(fù)制 SQL Server Compact DLL 文件:
從您的文件夾復(fù)制以下所有文件:
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private
到遠(yuǎn)程服務(wù)器上的 bin 文件夾。
創(chuàng)建或編輯應(yīng)用程序中的 Web.config 文件:
實(shí)例 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. 復(fù)制 SQL Server Compact 數(shù)據(jù)
您的 App_Data 文件夾中有沒(méi)有包含測(cè)試數(shù)據(jù)的 .sdf 文件?
您是否希望將測(cè)試數(shù)據(jù)發(fā)布到遠(yuǎn)程服務(wù)器?
大多數(shù)時(shí)候是不希望。
如果您不得不復(fù)制 SQL 數(shù)據(jù)文件(sdf 文件),那么您應(yīng)該刪除數(shù)據(jù)庫(kù)中的所有數(shù)據(jù),然后把這個(gè)空的 .sdf 文件從開(kāi)發(fā)機(jī)復(fù)制到服務(wù)器。
就是這樣。祝您好運(yùn)!