2016-06-24 100 views
1

我們最近合併了兩個代碼分支,並以.csproj文件中幾個文件的重複條目結尾。這似乎發生在需要複製到輸出目錄的所有文件在更改完成並且與其他分支合併之後總是被更改爲複製。查找並刪除csproj文件中的重複條目

我想知道這是否會導致任何意想不到的問題,如果它是這樣,我應該怎麼做才能解決它。這是很多文件,所以我不想通過手動執行每個文件。它也不是所有的文件,但它是相當數量的文件。我該怎麼辦?

+1

你的意思是一些文件的文件不執行合併過程?你在VS中使用默認的合併工具嗎?你能分享一個截圖,因爲我從未見過這個問題嗎?檢查這種情況下,看看它是否有幫助:http://stackoverflow.com/questions/14200484/tfs-merge-creates-duplicate-entries-in-solution-project-files –

+0

我不是說一些文件文件不執行合併過程。我在Visual Studio中使用了默認的合併工具,但是我沒有進行合併,導致問題出現,這是我團隊中的另一位開發人員。我假設他們也使用默認合併工具。我無法添加屏幕截圖,因爲這些文件和名稱是專有的。該鏈接沒有幫助,因爲它只是建議首先使用不同的合併工具,但損壞已經完成。 –

回答

2

我最終做的是從項目中刪除所有受影響的文件,刷新解決方案資源管理器並顯示包括項目中不再包含的所有文件,然後將文件重新包含到項目中。

我第一次嘗試時我沒有刷新解決方案資源管理器,但它沒有改變任何東西,但刷新和切換後,顯示/隱藏所有文件幾次後,從項目中刪除它們,包括他們回來只添加一次提到他們,而不是我看到的兩次。

真正做到這一點的是,我可以通過使用shift-click和ctrl-click然後右鍵單擊來執行對它們的任何操作,比如從中排除所有想要使用的文件項目,包括在項目中,或將副本更改爲輸出目錄設置。

4

萬一有人在尋找一種方式來自動做到這一點,我把一個腳本這一點:RemoveCsProjDuplicates.ps1

該腳本會發現,在所提供的文件夾中所有的csproj文件,刪除所有重複和保存文件。

在使用時只需運行

。\ RemoveCsProjDuplicates.ps1 -FilePath [解決方案文件夾]

隨意使用,並使其適應您的需求