VS.NET 2003中搭配的Source Control是Visual SourceSafe(VSS) 6.0d,VS 2005則是VSS 2005。
如果你在同一台機器上安裝了VS.NET 2003/VSS6.0d,再裝好VSS 2005 Client,則在開啟VS.NET的Source Control功能,就會出現VSS 2005的連線畫面。理論上,VSS 2005 Client己取代了原本VSS 6的位置了。

今天同事小娟說這樣有兩套VSS很礙眼,不知VSS 6是否可以移除?? 結果她還只是有這種念頭,手賤的我卻在要Check In一個檔案時,就順手將VSS 6給移除了。接著,慘案發生了~~~~
VS.NET 2003完全失去了Source Control的功能,原本有掛VSS的專案開起來時不會連線VSS DB,而Source Control的選單也一片灰白 orz


不過不要驚慌! (因為我已經替大家驚慌過了) 問題起因於MS的Source Control有標準的Interface(這樣3rd Party廠商也可以開發Source Control Provider),而這個介面是VSS 6, VSS 2005共用的。VSS 2005安裝後將介面指向自己的ssscc.dll,所以VS.NET 2003跳出的是VSS 2005的畫面;而VSS 6移除時,則不分青紅皂白地移除了所有SCC介面的設定(也就是原本已指向VSS 2005的設定),造成了VS.NET 2003無VSS可用。

解決方法是重新註冊VSS 2005的ssscc.dll的COM物件即可,指令如下:
X:\Program Files\Microsoft Visual SourceSafe>regsvr32 ssscc.dll

參考資料: http://blogs.msdn.com/korbyp/archive/2003/12/17/44209.aspx

Comments

Be the first to post a comment

Post a comment