2010-03-06 71 views
5

現在,我只是簡單地將所有內容(包括我的所有源代碼)都截取了,但我認爲有一個最佳實踐方式來獲得正確的dll和正確的aspx要部署的文件。什麼是FTP部署一個asp.net mvc站點的最佳方式

+0

我傾向於發佈Visual Studio中的項目,然後上傳...而不是上傳所有的源代碼,並等待服務器來構建,但仍然有一個不再使用的內容...上傳了一個簡單的頁面App_Offline.htm首先會允許你做一個直立而不給用戶錯誤。 – davethecoder

回答

4

儘管還有一些其他工具,但我覺得最好的方法是開發人員理解運行該應用程序所需的文件並適當地上傳它們。根據您組織應用程序的方式,您會驚訝於上傳MVC應用程序的簡單性。這是我做的,我希望它有幫助:

  1. 我在我的web應用程序的根目錄中創建一個名爲「assets」的文件夾。在該文件夾中,您可以找到「css」,「js」,「圖像」和「類型」的子文件夾。我這樣做是爲了組織和上傳時,我不必找到幾個文件夾(內容,腳本,Css等),我只是上傳「資產」。
  2. 我確定我的輔助類庫在構建時將其.dll複製到我的Web應用程序的bin文件夾中。這樣,所有必需的.dll都在Web應用程序的bin文件夾中。

然後我上傳下列文件和文件夾:

  • 資產
  • 查看
  • Default.aspx的
  • 的Global.asax
  • 的web.config(生產版本)

很簡單,不是很可怕。這是一個有點簡化,因爲我幾乎總是有其他文件夾和我使用的文件(sitemap.xml的,robot.txt的,爲favicon.ico,App_Data文件(有時),等等,等等),但上面是需要的最低限度。適用於中小型網站。

+0

那麼意見呢?你使用嵌入式視圖引擎嗎?否則,也需要部署它們,對嗎? – mnemosyn

+1

視圖位於上面列出的「視圖」文件夾中。由於您的Views文件夾中通常沒有.cs文件,因此您可以將整個文件夾ftp覆蓋。只要確保您的視圖文件夾內的web.config文件與它一起使用即可。 –

+0

D'oh。沒關係。沒有足夠的咖啡/睡眠不足! – mnemosyn

2

您可以使用msbuild /p:OutputDir=Build\構建到不同的構建文件夾中,這將消除無關文件,然後構建FTP文件夾。

我很想看看有沒有人有更好的答案。好問題。

+0

我發現Visual Studio中的Publish函數非常慢,正在尋找其他人在做什麼。這聽起來像是最好的主意,但我需要嘗試一下。 – invalidusername

相關問題