Asp.net

Visual Studio 2012 Web Publish 不復製文件

  • August 30, 2012

我在 VS 2012 中有一個 Web 應用程序項目,當我使用 Web 發布工具時,它會成功建構,但不會將任何文件複製到發布目標(在本例中為文件系統)。

如果我查看建構輸出,我可以看到所有內容都被正確複製到 obj\Release\Package\PackageTmp\ 但是我在建構輸出中看到的只是:

4>完成建構項目“{Project}.csproj”。

4>刪除現有文件…

4>發布文件夾/…

4> ========== 建構:3成功,0失敗,1最新,0跳過===== =====

========== 發布:1 成功,0 失敗,0 跳過 ==========

即使它說發布成功,發布的目標目錄中也沒有文件。

我在多個項目中看到過這種情況,有時似乎是解決方案/平台配置導致了這個問題,但我無法確定確切的原因。

有沒有其他人看到這種情況發生或知道如何讓它正常工作?

更新:

我可能已經找到了解決方法。我剛剛再次發生這種情況,並且我正在搞亂發佈設置。一旦我將“設置”選項卡上的選定配置更改為另一種配置,然後返回到我想要使用的所有文件,我的所有文件都重新開始發布。希望這適用於未來的其他項目。

更新 2:

我在 Microsoft Connect 上發布了一個錯誤,並收到了 VS Web 開發團隊的一位開發人員的回复。他說他們已經在內部建構中解決了這個問題,並將很快發布發布工具的更新來解決這個問題。

更新 3:

這最近已通過 Visual Studio 2012 Update 2 修復

這可能是由使用 vs2012 的 RC 創建的解決方案/項目引起的。這在幾個月前發生在我身上,並通過確保我的解決方案建構配置與我的項目配置相匹配來解決問題……

我最近在使用 VS2012 Express for Web 打開最初在 vs2012RC 中創建的相同解決方案時遇到了同樣的問題。我完全按照原始海報的建議做了,它解決了我的問題。

這是引導我找到答案的線索:

connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-application-fails

上述對話中對我有幫助的相關回應是:

Microsoft 於 2012 年 6 月 13 日下午 12:00 發布

這是我們如何處理解決方案配置與項目配置的一個錯誤。我們錯誤地假設它們是相同的(例如,Solution 的 Release|x86 會將每個項目也設置為 Release|x86),這導致我們使用錯誤的建構屬性來發布文件。

解決方法是使解決方案配置和建構配置匹配。此問題將在 Visual Studio 2012 的下一版本中修復。

謝謝, - Jimmy Lewis SDET,視覺 Web 開發團隊

同樣的問題。解決方法是將發佈設置從 Release 更改為 Debug。重新發布,然後改回發布…

引用自:https://stackoverflow.com/questions/12201146