2011-11-14 212 views
22

當使用Visual Studio 2008中,當I「發佈網站」,應用程序建立正確的,但後來我得到一個「發佈失敗」消息:'發佈失敗'但構建成功?

enter image description here

什麼可能的原因是沒有這一點,和我怎樣才能防止它?

+1

有點多的信息會幫助你... – Yacov

+0

@yytg - 你需要什麼樣的信息?我沒有得到任何警告。構建成功,爲什麼會發布失敗? – Curt

+2

@ curt:輸出窗口日誌可能會提供更多所需的信息。此外,請檢查此[鏈接](http://bytes.com/topic/asp-net/answers/595252-publish-failed) – NaveenBhat

回答

15

你可以試試這個:

  1. 對Web應用程序進行預編譯。

  2. 清除目標目錄(IIS中的虛擬目錄或物理文件 文件夾)並將(web應用程序的)所有文件部署到目標 目錄中。

在輸出窗口中,您可以檢查在該階段不發佈網站 操作失敗。例如,在第一階段,如果有一些錯誤 只會在預編譯時發生,那會導致階段1失敗。 或者如果目標目錄有某些配置不正確的話。 如IIS虛擬目錄未設置爲正確的ASP.NET版本或 某些舊文件被鎖定並阻止它們被清除。大多數情況下, 發佈失敗將IIS端配置的問題,如 認證設置引起....

Source link

您可以按Ctl + w, o打開輸出窗口。

6

有時候是因爲您需要以管理員身份運行VS以便能夠寫入目標目錄。

檢查輸出的信息,他們會幫助你解決問題

1

檢查項目bin目錄。你的頁面或控件必須有一個DLL。必須在發佈期間重新創建。所以排除它或刪除它

+1

請提供更多的澄清,爲什麼這會導致給定的錯誤信息。 – scoota269

0

在我的情況下,我發佈到映射網絡驅動器中的目錄,但面板/窗口指示該位置不存在。路徑正確,驅動器完全可用。當我通過使用...按鈕重新設置要在Visual Studio中發佈的路徑時,問題自行解決。

3

我不得不將項目複製到C:\a\而不是發佈。我懷疑長途問題。奇怪,但爲我工作。

+0

我仍然在Windows 10上得到這個...消息在「Web Publish Activity」窗口中顯示一次。文件路徑大於260個字符,與https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath相匹配。但自從我嘗試多次發表以來,信息一直沒有回來。 – Stephen

1

今天我遇到了同樣的問題,這是由於當我打開我的圖像文件夾來查找圖像時創建的Thumbs.db文件。我刪除了該文件,併成功部署了該項目。希望這可以幫助其他人在相同的情況下。

+0

我從sln文件夾中刪除了一個圖像,但它顯示在VS.我從VS中刪除一個圖像,然後發佈成功。 –

1

確保在發佈前清空目標文件夾(手動)。有時vs不能刪除一個會導致發佈失敗的文件

7

我有同樣的問題。噩夢識別問題,因爲日誌和輸出顯示沒有錯誤或失敗。我只是得到「構建:39成功」和「發佈:1失敗」。

我一次系統地刪除所有的Nu​​Get軟件包(並刪除引用它的代碼),直到找出違規的軟件包,我解決了這個問題。

這需要很長時間!

但是,我的答案是Microsoft.Net.Compilers

不知道我是如何在我的項目中結束的,但只要我刪除那個包,所有事情都會再次發佈。

+4

這也是我的問題,謝謝。我必須首先刪除_CodeDom.Providers.DotNetCompilerPlatform_,因爲它對_Net.Compilers_有依賴性。 – Mackan

+1

同上:https://stackoverflow.com/a/48104124/826308 –

相關問題