原文:http://blog.useasp.net/archive/2015/12/15/how-to-permanently-remove-vs-project-TFS-source-version-control-binding.aspx
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLtJXam52bj1ycmR3LcVTMyETNxAjMvwFdl52XwNXYlNXdfd2bsJ2LcNXZnFWbp9CX0VmbuA3chV2c15yZvxmYvw1LcpDc0RHaiojIsJye.jpg)
在項目中要永久清除TFS版本控制,需要操作三步(請確定操作之前沒有在使用目前項目):
清除(删除)項目下的所有版本控制檔案,這些檔案有:<code>*.vssscc</code>,<code>*.vspscc</code>
删除這些版本控制檔案比較簡單,搜尋這些字尾的檔案,删除即可;
修改項目的解決方案檔案:<code>*.sln</code>
先要确認解決方案檔案(<code>*.sln</code>)是可修改的,如果是Read-Only的檔案,則需要先調整為可修改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<code>GlobalSection(TeamFoundationVersionControl) = preSolution</code>
<code> </code><code>SccNumberOfProjects = 4</code>
<code> </code><code>SccEnterpriseProvider = {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</code>
<code> </code><code>SccTeamFoundationServer = here is your project's tfs</code>
<code> </code><code>SccLocalPath0 = .</code>
<code> </code><code>SccProjectUniqueName1 = project-unique-name1.csproj</code>
<code> </code><code>SccProjectName1 = your-project-name</code>
<code> </code><code>SccLocalPath1 = project-local-path</code>
<code> </code><code>SccProjectUniqueName2 = project-unique-name2.csproj</code>
<code> </code><code>SccProjectName2 = project-name-2</code>
<code> </code><code>SccLocalPath2 = local-path2</code>
<code> </code><code>SccProjectUniqueName3 = project-unique-name3.csproj</code>
<code> </code><code>SccProjectName3 = project-name-3</code>
<code> </code><code>SccLocalPath3 = local-path3.</code>
<code> </code><code>EndGlobalSection</code>
這段代碼是項目啟動時加載的TFS配置,我們要剔除TFS,此段代碼就必須删掉了,删除之後,儲存檔案即可。
完成上面兩步,項目的TFS控制資訊已經清理的差不多了,如果是VS2010項目,則用2010打開的時候會有提示,選擇永久(完全)删除源代碼控制的關聯綁定,确認即可完成整個項目的TFS清理工作1。
<code>未能找到解決方案的映射。</code>
<code>活動解決方案已暫時與源代碼管理斷開連接配接,因為伺服器不可用。若要嘗試重新連接配接源代碼管理,請在伺服器可用時關閉并重新打開解決方案。如果要連接配接到其他伺服器,請使用“更改源代碼管理”對話框。</code>
這種問題是因為<code>*.csproj</code>中還有版本控制資訊,導緻VS還會嘗試進行TFS相關操作,要解決這個問題,需要删除<code>*.csproj</code>檔案中的相關資訊,用文本編輯器打開檔案,你能看到類似下面的資訊:
<code><</code><code>PropertyGroup</code><code>></code>
<code> </code><code><!--其他配置--></code>
<code> </code><code><</code><code>TargetFrameworkVersion</code><code>>v4.5</</code><code>TargetFrameworkVersion</code><code>></code>
<code> </code><code><</code><code>FileAlignment</code><code>>512</</code><code>FileAlignment</code><code>></code>
<code> </code><code><</code><code>SccProjectName</code><code>>???</</code><code>SccProjectName</code><code>></code>
<code> </code><code><</code><code>SccLocalPath</code><code>>???</</code><code>SccLocalPath</code><code>></code>
<code> </code><code><</code><code>SccAuxPath</code><code>>???</</code><code>SccAuxPath</code><code>></code>
<code> </code><code><</code><code>SccProvider</code><code>>???</</code><code>SccProvider</code><code>></code>
<code></</code><code>PropertyGroup</code><code>></code>
上面的<code>Scc*</code>的配置即是版本控制資訊。可以簡單粗暴的将它删除即可,删除完成後,儲存檔案。
完成上面的操作之後,我們再次用VS打開項目,就不會再有任何TFS的相關資訊提示了,又可以和VS快樂的玩耍了。
使用也是相當友善,有兩種方式:
1. 指令行:
<code># 在指令行下,使用:</code>
<code># Application ProjectRoot</code>
<code># 的格式即可完成對指定目錄下的TFS資訊的剔除</code>
<code># 如:項目在D:\Temp\Test下面</code>
<code>TFSEliminator.exe D:\Temp\Test</code>
要直接運作,隻需要将程式複制到項目的根目錄下,然後輕按兩下運作即可。
注意: 指令行會有提示,如果确認路徑沒有問題,記得按回車或者Y哦~