Visual Studio 發布網站常見錯誤:Duplicate Files 衝突解法一次看懂!
在使用 Visual Studio 發布網站專案時,出現以下錯誤訊息:
NETSDK1152: Found multiple publish output files with the same relative path.
Generate error for duplicate files in publish output別緊張,這其實是部署過程中有重複檔案名稱衝突的常見狀況。以下整理多種實用的排查與解法,讓你迅速恢復正常部署流程!
❓ 錯誤成因解析
這個錯誤通常由以下幾種狀況導致:
- 🔁 不同資料夾有相同檔名(如
Scripts\common.js和scripts\common.js) - 🔗 專案中重複引用相同的檔案
- 📦 第三方套件與自己手動加入的檔案產生衝突
- 🔡 路徑大小寫不同但內容相同(Windows 不區分,但 .NET 發佈工具會)
🛠 解法一:檢查 .csproj 檔案是否有重複定義
開啟 .csproj 檔案並搜尋 <Content> 或 <None> 標籤,檢查是否有類似以下重複定義:
<ItemGroup>
<Content Include="scripts\common.js" />
<Content Include="Scripts\common.js" />
</ItemGroup>✅ 解法:移除重複或只保留一個版本。
🛠 解法二:加入屬性略過重複警告
若確認內容無誤,且重複檔案不影響運作,可加入以下屬性來略過警告:
<PropertyGroup>
<EnableDuplicatePublishWarning>false</EnableDuplicatePublishWarning>
</PropertyGroup>🛠 解法三:排除指定檔案避免衝突
如果你已經知道哪個檔案不需要輸出,可以加上排除設定:
<ItemGroup>
<Content Remove="wwwroot\scripts\common.js" />
</ItemGroup>🛠 解法四:清理輸出目錄再重新部署
有時候是舊檔案殘留導致衝突,可以:
- 手動刪除
bin/與obj/資料夾 - 在發佈設定中勾選「刪除目標位置的舊檔案」
🎯 小提醒:保持命名一致性
由於 Windows 不區分大小寫,但 Git 和 .NET 發佈工具是會的,建議:
- 命名保持一致,最好全部使用小寫
- 資源放置盡可能集中於
wwwroot/或單一資料夾中
✅ 結語
出現 duplicate files 錯誤並不可怕,只要有系統地檢查 .csproj 設定與發佈選項,就能輕鬆排除問題!
如果你覺得這篇實用,也歡迎收藏起來或分享給有遇到相同錯誤的朋友~



![Visual Studio 發布網站常見錯誤:[找到多個具有相同相對路徑的發佈輸出檔案] 解法一次看懂!](/blog/solution-for-generate-error-for-duplicate-files-in-publish-output-when-publishing-website-in-visual-studio/banner.jpg)