2009-04-29 169 views
6

我正在處理中等大小的WebForms項目。由於這裏管理的特殊性,我必須將站點上傳到遠程服務器才能測試(無本地主機測試)。我在Visual Studio 2008中使用「發佈」命令。有時,它甚至可以工作。大多數時候,我無意中在左下角發現「發佈失敗」,沒有進一步的細節。Visual Studio的「發佈」命令失敗

我讀過的幾個Google文章/論壇帖子建議讓發佈操作的目標本地文件夾對每個人都是可讀/可寫的。沒有幫助。

有沒有辦法獲得關於VS2008發佈失敗的更多細節,如果沒有,是否有更好的方法來完成這些部署?我花費更多的時間來構建/推送到Web服務器,而不是實際調試。

+0

這是愚蠢的,所以我不認爲它擔保被張貼爲答案,但有時如果我打開文件夾和文件點擊,發佈失敗,因爲它不能刪除我突出顯示的文件。 – 2009-04-29 21:02:33

回答

3

它發生在標記(!)出現錯誤時。糟糕的是,VS會吞下錯誤,並告訴你失敗。

我的建議是使用MSBuild從命令行運行發佈。這不是那麼簡單,但它有效(一旦你進入它)。

1

我主要使用Web窗體,每天都會遇到這個問題。 在我看來,發佈失敗時,它無法刪除它試圖替換的文件。即使我沒有打開任何文件,它仍然有時會失敗。不知道爲什麼。 不僅VS發佈失敗很多,它也很痛苦。 我只是發佈到空的本地目錄,並使用單獨的FTP客戶端來上傳文件。這是更多的工作,但工作。

1

這可能不是您的情況,但我在發佈網站時看到過這種情況。如果app_offline.htm文件未從您的項目中排除(如果您使用此文件),則發佈將失敗。

0

在與類似的問題掙扎了大約30分鐘,但沒有線索導致它關閉了VS並重新開啓了我的項目。開始工作正常。不知道爲什麼,但它的工作。

2

我已經發現這些特定的發佈失敗的原因是由於「刪除現有文件」選項被檢查。在Windows Vista上使用非管理帳戶下的Visual Studio 2008可能會在嘗試刪除現有文件時導致權限錯誤。在遇到Visual Studio沒有足夠的刪除權限的文件後,發佈將無提示失敗。一旦在Vidual Studio之外手動刪除文件,發佈功能就會正常運行。

我沒有與Windows 7的這個問題;我假設Windows 7中的UAC更改解決了這個問題。

1

同樣發生在我身上..我做了什麼是包括圖像文件,沒有包括在項目中,並刪除圖像沒有使用。

4

這是值得檢查輸出窗口。我剛剛發佈失敗,因爲我已經刪除了VS以外的圖像,因此VS抱怨圖像找不到,但是這些信息僅顯示在輸出窗口中。

請參閱此鏈接瞭解更多信息: http://ericfickes.com/2009/08/find-out-why-visual-studios-publish-fails/

+0

太棒了,我在這裏找到了我的答案! – 2012-02-06 21:37:31

0

你應該總是停止您要發佈到計算機上運行的IIS實例。 Google單詞「iisreset」。像DiscountAsp和Arvixe等其他託管服務提供商爲您提供了在他們的IIS上遠程「停止」和「啓動」您的應用程序池的工具。這是非常必要的,因爲IIS可能已將某些文件鎖定爲「正在使用」,所以當它嘗試寫入它們時,發佈失敗。當您的發佈完成後,只需重新啓動IIS(或者如果您使用的是第三方託管提供商,請從Web工具中按「開始」)。

當所有其他都失敗時,檢查您的「輸出」窗口(在Visual Studio底部的「錯誤列表」右邊的選項卡)。在發佈失敗後滾動查看所有內容,並查找「無法添加」的內容。如果在同一發佈中看到相同的「無法添加」錯誤,請將ftp插入該文件夾,手動刪除有問題的文件,然後再次嘗試發佈。

0

當我的ProjectName.Publish.xml文件是隻讀文件時,我得到了這個。一旦我從源代碼管理中檢查了這個文件,我就不會再犯這個錯誤並且可以發佈了。

0

只是添加到這個線程,我發現,由於一些奇怪的原因,只有Mercurial文件正在發佈到服務器,其他一切都沒有被複制。

另一個奇怪的是,只有調試配置可用; 版本無處可見。

圍繞閱讀其他線程SO後,我發現有很多的VS 2010和2012年,但沒有太大的覆蓋,與2008年

的修復同樣的問題,我發現,被刪除的[解決方案]suo文件,然後嘗試發佈。這似乎做了這項工作,雖然它花了很長時間才完成。

相關問題