將VSS版控的Visual Studio方案切換成TFS

手上有個Visual Studio方案(.sln)原本使用VSS(Visual Source Safe)進行版控,用Visual Studio 2013開啟移除舊版控設定,想切換Source Control Plug-in想改成TFS,冒出以下訊息:

The active solution or project is controlled by a different souce control plug-in than the one you have selected. If you change the sourcce control plug-in, the active solutoin or project will be closed.

大意是目前的.sln或.csproj中使用了不同的版控套件(即VSS),如果硬要切換,目前的方案及專案會被關閉。廢話,既然想換成TFS,當然要答Yes,但下場就是方案被關閉。重新開啟方案,版控又自動跳回VSS,切到TFS,方案被關閉無從繼續設定,重新開啟方案,版控又自動跳回VSS,切到TFS...  很好,這是鬼打牆吧?

直覺推測,專案或方案裡一定有某處保留了VSS版控設定,Visual Studio在開啟時才會被導引自動切回VSS套件。試著刪除.suo及所有.vsscc檔案但無效,VS仍一口咬定這個專案需搭配VSS服用,一切換到TFS便咬舌自盡。不切換到TFS,即便使用File/Source Control/Change Source Control,所能指定的版控來源還是限定為VSS。

最後,我直接用notepad++開啟.sln檔案,找到以下可疑設定。即使IIS Web Site已從方案移除後,設定仍在,而其中SccProvider指向MSSCII:Microsoft Visual SourceSafe,涉嫌重大。

GlobalSection(SourceCodeControl) = preSolution
    SccNumberOfProjects = 2
    SccWebProject0 = true
    SccProjectUniqueName0 = httq://localhost/WebPart
    SccProjectName0 = \u0022$/Portal/DataExtractor/WebPartWeb\u0022,\u0020UVKLAAAA
    SccLocalPath0 = X:\\TFS\\SPS2007\\WebPart
    SccProvider0 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe
    SccProjectEnlistmentChoice0 = 2
    SccWebProject1 = true
    SccProjectUniqueName1 = httq://localhost/SSO
    SccProjectName1 = \u0022$/Portal/SSO\u0022,\u0020XDEMAAAA
    SccLocalPath1 = X:\\TFS\\SPS2007\\SSO
    SccProvider1 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe
    SccProjectEnlistmentChoice1 = 2
EndGlobalSection

手動將以上片段自.sln移除,Visual Studio終於不再強迫我使用VSS,專案得以順利簽入TFS。

感覺不像是正規的操作步驟,但這招的確解決了專案一直被鎖定在VSS的問題。另外,直接修改.sln檔有造成方案毁損的風險,提醒在動手前最好先備份檔案。

[2013-11-29更新]感謝網友鮑承佑補充,有時csproj中的<SccProjectName>, <SccLocalPath>, <SccAuxPath>, <SccProvider>也需一併移除。

歡迎推文分享:
Published 28 November 2013 06:28 AM 由 Jeffrey
Filed under: ,
Views: 8,553



意見

# 鮑承佑 said on 27 November, 2013 09:41 PM

有時候.csproj檔裡的

<SccProjectName>

<SccLocalPath>

<SccAuxPath>

<SccProvider>

這些tag的內容也要移掉或修改才行,沒辦法,這叫『黨國一家』 :p

# Jeffrey said on 29 November, 2013 09:37 AM

to 鮑承佑, 感謝補充,已加入本文。

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<November 2013>
SunMonTueWedThuFriSat
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication