asp.net mvc - 發(fā)布網(wǎng)站
學(xué)習(xí)如何在不使用 visual web developer 的情況下發(fā)布 mvc 應(yīng)用程序。
在不使用 visual web developer 的情況下發(fā)布您的應(yīng)用程序
通過在 webmatrix、visual web developer 或 visual studio 中使用發(fā)布命令,可以發(fā)布一個 asp.net mvc 應(yīng)用程序到遠(yuǎn)程服務(wù)器上。
此功能會復(fù)制所有您的應(yīng)用程序文件、控制器、模型、圖像以及用于 mvc、web pages、razor、helpers、sql server compact(如果使用數(shù)據(jù)庫)所有必需的 dll 文件。
有時您不希望使用這些選項?;蛟S您的主機提供商僅支持 ftp?或許您的網(wǎng)站基于經(jīng)典 asp?或許您希望親自拷貝這些文件?又或許您希望使用 front page、expression web 等其他一些發(fā)布軟件?
您會遇到問題嗎?是的,會的。但是您有辦法解決它。
要執(zhí)行網(wǎng)站復(fù)制,您必須知道如何引用正確的文件,哪些 dll 文件需要復(fù)制,并在何處存儲它們。
請按照下列步驟操作:
1. 使用最新版本的 asp.net
在您繼續(xù)操作之前,請確保您的主機運行的是最新版的 asp.net(4.0 或者 4.5)。
2. 復(fù)制 web 文件夾
從您的開發(fā)計算機上復(fù)制您的網(wǎng)站(所有文件夾和內(nèi)容)到遠(yuǎn)程主機(服務(wù)器)上的應(yīng)用程序文件夾中。
如果您的 app_data 文件夾中包含測試數(shù)據(jù),請不要復(fù)制這個 app_data 文件夾(詳見下面的第 5 點)。
3. 復(fù)制 dll 文件
在遠(yuǎn)程服務(wù)器上的應(yīng)用程序根目錄中創(chuàng)建 bin 文件夾。(如果您已經(jīng)安裝 helpers,則 bin 文件夾已經(jīng)存在)
復(fù)制下列文件夾中的所有文件:
c:program files (x86)microsoft asp.netasp.net web pagesv1.0assemblies
c:program files (x86)microsoft asp.netasp.net mvc 3assemblies
到您的遠(yuǎn)程服務(wù)器上的應(yīng)用程序的 bin 文件夾中。
4. 復(fù)制 sql server compact dll 文件
如果您的應(yīng)用程序使用了 sql server compact 數(shù)據(jù)庫(在 app_data 文件夾中的一個 .sdf 文件),那么您必須復(fù)制 sql server compact dll 文件:
復(fù)制下列文件夾中的所有文件:
c:program files (x86)microsoft sql server compact editionv4.0private
到您的遠(yuǎn)程服務(wù)器上的應(yīng)用程序的 bin 文件夾中。
創(chuàng)建(或者編輯)應(yīng)用程序的 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. 復(fù)制 sql server compact 數(shù)據(jù)
您的 app_data 文件夾中有沒有包含測試數(shù)據(jù)的 .sdf 文件?
您是否希望發(fā)布您的測試數(shù)據(jù)到遠(yuǎn)程服務(wù)器上?
大多數(shù)時候一般是不希望。
如果您一定要復(fù)制 sql 數(shù)據(jù)文件(.sdf 文件),那么您應(yīng)該刪除數(shù)據(jù)庫中的所有數(shù)據(jù),然后從您的開發(fā)計算機上復(fù)制一個空的 .sdf 文件到服務(wù)器上。
就是這樣。good luck!