昨天我的 Visual Studio 2012 突然發生一件離奇的事件,也就是當連接到 TFS Service 的時候,發生了 The path ‘XXX’ is already mapped in workspace 的錯誤訊息,這問題以前曾經發生過,不過只要重新登入登出 Live ID 就能夠解決,但這次卻怎樣都回復不了,而且是所有的專案都連不上了,上網尋找了一下解決方案,最後才知道是 TFS 的 Mapping 狀態亂掉了,必須清空 TFS Mapping 的狀態快取,才能正常使用。
本次錯誤訊息的中英文分別如下 ( Terminology Search - Microsoft | Language Portal ):
- 路徑 {0} 已經在工作區 {1} 中對應。
- The path {0} is already mapped in workspace {1}.
這個問題,首先是出在我正在用原始檔控制總管的時候,打算取出一個新的專案原始碼,結果第一次發生了莫名失敗,第二次重試的時候,就再也無法取出了,而且我的原始碼也完全沒有取出,那等於完全拿不到原始碼了,一整個鬼打牆。
然後,更扯的是,原本可以進行原始碼控管的專案,現在卻告訴我沒有權限了! OTZ
研究到最後才發現,如果你也遇到這種對應狀態亂掉的情況,可能要直接刪除一個 Cache 資料夾底下所有檔案與目錄,才能讓這個問題回復正常,路徑如下:
- %LOCALAPPDATA%\Microsoft\Team Foundation\4.0\Cache\*.*
路徑範例:
- C:\Users\Will\AppData\Local\Microsoft\Team Foundation\4.0\Cache\*.*
上述紅字部分 ( 4.0 ) 可能會依據你安裝的 Visual Studio 版本不同而有所不同,所以也有可能是 3.0 的目錄,那麼路徑就會變成如下:
- %LOCALAPPDATA%\Microsoft\Team Foundation\3.0\Cache\*.*
不過刪除這些檔案與目錄之後,下次開啟 Visual Studio 2012 就會發現所有專案都必須重新設定對應資料夾,如下圖示:
相關連結