上回曾經PO文提過Visual SourceSafe Check-In時彈出Invalid Handle錯誤的問題,但安裝VSS 2005 Update並沒有根治,有時還是會發生Check In過程彈出"Invalid Handle"訊息的惱人狀況。

最近要將一個大專案翻版成.NET 3.5,有大量專案要重新Check In到新的Project Source,我那原本就只有芝麻大小的耐性想當然瞬間被磨光,即將暴走之際,忽而福至心靈,靜下心來再爬一次文,這回在MSDN論壇發現一則很有用的討論

srcsafe.ini中有個Journal_File的設定,而我查了一下,它被設成\\ IP位址\vssShareName\log.txt,而我平常都是使用\\機器名稱\vssShare的方式連結VSS資料庫。

Aha! 由於VS2008/VS2010在Windows 2008 UAC下是用管理者身份執行,而我為管理者身份設定了對VSS主機機器名稱連線用的帳號密碼,卻沒有為VSS主機IP設定連線用的帳號密碼,這解釋了為什麼即便一直跳出"Invalid Handle"警告(對\\ IP位址\連線認證不過,Log寫不進去),但Check-In動作卻一直都是成功的(對\\機器名稱\的連線認證是OK的)。

找到問題根源,為管理者身份設好連線VSS主機IP的認證,惱人的Invalid Handle終於徹底消失了!


Comments

Be the first to post a comment

Post a comment