2009-04-13 87 views
12

我正在開發一個asp.net網站,需要定期更新源代碼和HTML端。在完成必要的更新後,我使用「發佈網站工具」並將該網站發佈到本地目錄。然後我將所有文件上傳到遠程文件。

有沒有什麼方法可以修改我的網站只更改文件。例如,如果我只更新了84個文件(HTML或源端),是否可以更新這2個文件沒有任何問題?如何更新一個asp.net網站(只是更改文件)

回答

6

在Visual Studio中確實提供了一些不同的編譯/編譯選項,我認爲你可能做的一切只是罰款一個Visual Studio網站項目。當我使用網站而不是Web應用程序時,我只會將已更改的文件進行FTP傳輸。例如,如果我要在.aspx頁面中更改一些HTML標籤,那麼只有該頁面需要上傳到Web服務器。如果我更改.aspx.cs頁面中的Page_Load函數,那麼我肯定也需要在Web服務器上獲取更新後的DLL。

我使用FileZilla作爲我的FTP工具,並且有一個選項只能上傳更改的文件。因此,在使用Visual Studio發佈您的網站後,您可以抓取該目錄的全部內容並將其拖到FTP服務器位置,並只更新已更改的內容。

1

這取決於項目的類型。

如果是用創建的項目文件>新網站然後只需複製已更改的.aspx文件(確保相應的代碼 - .cs文件也被複制)即可。

如果該項目與文件>新建項目> ASP.NET Web應用程序創建,那麼你將需要複製.aspx文件和編譯後的項目DLL(默認情況下的dll具有相同的名稱,如項目TestProject.dll)從項目內的bin文件夾中刪除。

2

ASP.NET網站項目在項目屬性 - >「MSBuild選項」標籤頁中提供了一個選項,您可以在其中設置「允許此預編譯站點可更新」。

設置這個選項

「指定的的.aspx頁面 內容不會被編譯到一個 組裝,而是標記是左 原來的樣子,讓你改變HTML和 客戶端在 預編譯該網站後選擇 此複選框相當於將 -u選項添加到 aspnet_compiler.exe命令。

根據文檔。

-1

我認爲你需要一些東西http://winmerge.org/ 它將在哪裏比較被更改的文件並上傳它們。

希望這有助於

+0

這比通過ftp上傳所有東西更麻煩 – 2013-07-28 03:54:47

0

當您使用Visual Studio發佈網站時,有一個選項顯示「允許此預編譯的網站可更新」。如果選擇此選項,則可以對HTML進行一些更改,而不是隱藏在後面。Programming Tutorials

+0

這並沒有解決原始問題 – Josh 2014-06-04 17:58:50

1

我已經完全不滿意VStudio的可用工具。我改用Gulp。 即使在2017年,問題依然存在。

使用gulp可以「查看」更改文件的目錄,因此我將它配置爲監視[bin]文件夾以及與aspx/cshtml文件分開的資源。

這種方式只要我改變任何東西,它會立即複製到我的發佈文件夾,我可以稍後將其壓縮並部署變更集。該腳本甚至有延遲,所以我可以在動態生成的捆綁包等情況下延遲複製/上傳,並花費一些時間進行完全修改。

我必須做的唯一事情就是在開始下一個里程碑之前將其清理乾淨,以便使吞吐「自動部署」的「發佈」文件夾爲空並準備好進行下一次運行。清空一個文件夾並在後臺運行「gulp watch」看起來像是一個很小的代價來支付這樣一個需要的功能。

我覺得這應該是作爲vstudio插件開發的好項目。

+0

哇這實際上是一個很好的解決方案。這很直接 – tno2007 2017-09-20 09:32:06