一、 開發前的準備1、 在裝有Windows 2000或者Windows XP Professional的機器上安裝.net Framework SDK、Visual Studio.Net、Visual Source Safe 6C。(如果使用者作業系統是Windows .Net Server,則無須安裝.Net Framework SDK,.Net Server內建的IIS 6已經完全包含了對.Net的支援)這些工具在Visual Studio.Net的安裝盤上都可以找到。2、 一台專門用於存放版本控制中樞資料庫的伺服器。該伺服器不需要安裝.NET Framework SDK和VS.net,但是必須安裝VSS 6C。我們稱這台伺服器為程式開發伺服器DataCenter。3、 一個主網域控制站,將DataCenter伺服器加入這個域,為每一個開發使用者指派域帳號。這樣所有小組成員可以通過登入到Window NT域來訪問版本控制資訊。注意:Visual Studio 6所帶的Visual Source Safe 6不支援.Net的一些檔案格式。如果你安裝了VSS 6,也需要再安裝一次VSS 6C,否則在VS.Net環境中將原始碼加入到VSS資料庫中將會出現錯誤。二、 建立空的SourceSafe資料庫在開始工作之前,需要建立一個空的SourceSafe資料庫,來存放原始碼控制資料,並為小組開發人員分配訪問帳號。在DataCenter伺服器上建立Source Safe資料庫。步驟如下:1、 啟動"開始"——"程式"——"Microsoft Visual SourceSafe"菜單下的SourceSafe 6.0 Admin。如果你是第一次安裝VSS 6C,Common資料庫的Admin帳號為空白。一所示:
圖一 VSS登入視窗2、 在Visual SourceSafe Administrator視窗中,你可以看到Source Safe預設的兩個使用者Admin和Guest。如果你不打算使用預設的Common資料庫,而要建立一個屬於自己的項目資料庫。選擇菜單"Tools"——"Create Database",二所示:
圖二 VSS管理視窗3、 在彈出的對話方塊中選擇新資料庫存放的位置。這裡我們選擇:C:\SourceManager\。點擊OK後,提示你已經建立了資料庫。4、 選擇"Users"——"Open SourceSafe Database…",使用Browser按鈕,選擇剛才所建立的SourceManager資料庫C:\SourceManager\srcsafe.ini。5、 使用"Users"——"Change Password"命令更改Admin帳號的密碼。使用"Users"——"Add User"命令為項目小組成員建立SourceSafe帳號。6、 將C:\SourceManager目錄設定為共用。共用許可權預設是Everyone完全控制。如果希望只對項目小組成員開放,不希望其他人操作資料庫檔案(注意:沒有SourceManager帳號的人不能訪問SourceSafe中的內容,但如果他有許可權的話,可以刪除或修改資料庫中的資料),請將Everyone組從許可權組中刪除,並從域目錄中選擇可以訪問該目錄的域帳號或電腦。7、 到此,一個空的項目資料庫建立完畢。三、 建立項目並加入版本控制下面將示範在一個裝有VS.Net的電腦上建立一個Windows應用程式和一個Web項目,並把它加入到上面所建的SouceManager資料庫中。1、 啟動VS.NET。2、 使用"檔案"——"建立"——"空白解決方案"命令,在D:\下建立解決方案SourceManager。VS.Net會在D:\下自動建立一個SourceManager目錄,該目錄中有一個解決方案檔案SourceManager.sln檔案。3、 使用"檔案"——"建立"——"項目"命令,在項目類型中選擇"Visual C#項目",在"模板"中選擇"Window應用程式"。項目名稱MyWindowApp。並選擇"添入解決方案"選項。確定。
圖三 建立Windows應用程式項目視窗4、 使用"檔案"——"建立"——"項目"命令,在項目類型中選擇"Visual C#項目",在"模板"中選擇"ASP.NET Web應用程式"。在"位置"欄中填寫http://localhost/MyWebApp。並選擇"添入解決方案"選項。確定。
圖四 建立Web應用程式視窗這樣就在解決方案中建立了一個Window應用程式和一個Web應用程式。下面講述如何將整個解決方案加入到原始碼版本控制。5、 在WebFrom1和Form1的設計器中各自加入一個Label控制項,保持它的屬性不變。我們將看到從另一個主機上擷取的程式使用者介面中也會有這一個控制項。6、 使用"檔案"——"原始程式碼控制"——"將解決方案加到原始程式碼控制"命令。
圖五 原始程式碼控制菜單7、 在彈出的Visual SourceSafe Login登入視窗點擊"Browser"按鈕,彈出開啟資料庫對話方塊,點擊該對話方塊的"Browser"按鈕,彈出如下對話方塊,在"檔案名稱"中輸入\\DataCenter\SourceManager\srcsafe.ini。確定後輸入上面所分配的SourceSafe帳號和密碼。
圖六 開啟VSS資料庫對話方塊8、 首先會彈出一個儲存解決方案的提示視窗,讓你選擇將要儲存到SourceSafe中的項目名稱,預設與解決方案的名稱相同。點擊OK,會得到項目在資料庫中不存在的提示,點擊"Yes"建立該項目。
圖七 在VSS中建立項目對話方塊9、 接下來會讓你選擇Web應用程式的儲存位置。如所示。由於Web應用程式通常儲存在本地的IIS根目錄下。與解決方案中的其它項目不在同一個目錄中,所以需要為Web應用程式在SourceSafe中單獨建立一個項目。在該視窗點擊"OK"按鈕接受SourceSafe的預設項目名稱MyWebApp。
圖八 在VSS中建立Web項目對話方塊10、 到此,我們已經在SourceSafe中添加了整個解決方案,包括一個Windows應用程式和一個Web應用程式。在"方案總管"視圖中,加入原始碼控制的程式旁邊有一把鎖(九所示),表示文檔已簽入,不可編輯。
圖九 方案總管11、 通過菜單"檔案"——"原始程式碼控制"——"Microsoft Visual SourceSafe",開啟SourceSafe,可以看到,在SourceSafe中已經加入了兩個項目。十所示:
圖十 VSS瀏覽器
四、 擷取SourceSafe中的項目下面的步驟中將講述如何在另一台主機上從SourceSafe擷取原始碼。1、 在另一台主機上開啟Visual Studio.Net開發環境。使用功能表命令"檔案"——"原始程式碼控制"——"從原始程式碼控制開啟"。重複第三步中的第7個操作,選擇SourceSafe資料庫的位置。2、 彈出"Create local poject from SourceSafe"視窗,在"Create a new project in the"輸入框中填寫你要儲存項目的本地路徑,這裡我們選擇"C:\MyProject"。在"SourceSafe project to"中選擇SourceManager項目,單擊OK按鈕。如果目錄C:\MyProject不存在,會詢問是否建立,選擇"Yes All"。
圖十一 從SourceSafe擷取項目對話方塊3、 接下來會彈出儲存Web應用程式工作複本的對話方塊,在工作複本位置輸入框中輸入你想要儲存Web應用的Web檔案夾,也可以接受預設設定。點擊"確定"按鈕接受預設設定。
圖十二 從SourceSafe擷取Web項目對話方塊4、 通過上述步驟,我們已經成功地在另一個開發主機上獲得儲存在SourceSafe的工程。將來如果有新的開發人員加入,只需重複這四個步驟即可。
五、 版本控制的幾個概念在Visual Studio.Net開發環境"方案總管"的操作功能表或者"檔案"——中有如下與檔案操作有關的命令,十三所示:
1、 檔案的"簽出"(Check Out):當需要編輯一個檔案時,必須將該檔案"簽出",SourceSafe會標誌該檔案已經被某個使用者遷出,並確保其他使用者不可編輯同一個檔案。對於檔案,僅當檔案被簽入後才有這個選項。2、 檔案的"簽入"(Check In):當完成檔案的編輯後,最好將檔案"簽入",以讓其他使用者可以簽出或者擷取最新版本。對於檔案,僅當檔案被簽出後才有這個選項。3、 "擷取最新版本":從SourceSafe資料庫中擷取指定檔案或項目的最新版本,而又不必簽出檔案。4、 "取消簽出":不在SourceSafe資料庫中儲存簽出後所做的修改,使本地檔案恢複到修改之前的狀態,並且將檔案簽入。只有檔案或項目中有檔案被簽出後才有這個選項。5、 "記錄":查看檔案修改的記錄。SourceSafe資料庫會自動儲存每次"簽入"前後的檔案內容。如果需要查看記錄。6、 "版本比較":可以比較目前的版本與曆史版本之間的差異,SourceSafe將以對照的形式將兩個版本的不同之處顯示出來。十四所示:
圖十四 版本比較7、 "Roll Back":在曆史版本顯示對話方塊中有一個Roll Back命令,即將檔案恢複到曆史版本。當檔案編輯錯誤時,想讓檔案回到曆史的某個點時,使用該命令。曆史版本顯示對話方塊中還有其它命令,這裡不一一詳述,請讀者慢慢研究。8、 Visual Studio.Net中關於版本控制的選項:在"工具"——"選項"命令對話方塊中,選擇左邊的"原始程式碼控制",顯示如下對話方塊。讀者可以根據項目的情況對SourceSafe選項進行設定。
圖十五 Visual Studio.Net中與版本控制相關的選項9、 其它SourceSafe操作:讀者可以從"檔案"——"原始程式碼控制"——"Microsoft Visual SourceSafe"菜單,進入"Visual SourceSafe Explorer",其中大多數主要命令基本與Visual Studio.Net相同,這裡就不再累贅。
六、 版本控制項目的管理下面將講述版本控制相關的一些許可權管理和檔案對應。首先在DataCenter伺服器上開啟"開始"——"程式"——"Microsoft Visual SourceSafe"——"Visual Source Safe 6.0 Admin"。選擇SourceManager資料庫,填入Admin帳號的密碼。進入"SourceSafe Administrator"視窗。它有如下幾個菜單。
1、 Users菜單下是關於使用者操作的命令,除上面我們所使用的添加使用者"Add User"、修改密碼"Change Password"外,還有刪除使用者"Delete User"、編輯使用者"Edit User"命令。"Open SourceSafe Database"命令用於更改當前SourceSafe資料庫。2、 Tools菜單下的Options對話方塊中包括了一些項目的設定。下面對主要的選項進行簡單的說明:(1) General頁中的Allow multiple checkouts,如果選擇此項,則允許多個使用者同時簽出檔案。預設是不允許。(2) Project Security頁中的"Enable project security"複選框指明是否允許對項目使用安全性。該項預設為不允許。只有當選擇了這個選項之後,Tools下的"Rights by Project"、"Right Assignments for User"和"Copy User Rights"才可用。這裡我們將它選中。(3) Shadow Folders頁用於設定項目在伺服器上的映射。項目在SourceSafe中以二進位碼形式將檔案的所有版本資訊儲存在檔案中。要在伺服器上建立一個目錄,將專案檔映射到這個目錄中,使用該命令。在"Set shadow folder for project"中選擇在SourceSafe中的SourceManager項目,在"Set shadow folder to"中選擇項目要映射到的目錄,如C:\SourceManager_Shadow。(4) Web Projects頁用於設定Web項目在伺服器上的映射。在This project represents a Web Site中選擇SourceSafe中的MyWebApp項目,在URL中填入"http://localhost",即本地Web伺服器(也可以填入其它伺服器)。Virtual Tools中填入要映射的虛擬目錄,在"Deployments path"填入部署目錄,這個目錄將成為IIS中指定虛擬目錄的映射目錄。3、 Tools菜單下的"Rights by Project"管理SourceSafe中項目的許可權,。使用者權限共有四種,在Rights中分別對應為:R(Read)、C(Check Out/Check In)、A(Add/Rename/Delete)、D(Destroy)。在左邊的"Project"框中選擇一個項目,並在右邊選擇相應的使用者,使用下面的複選框,給使用者指派相應的許可權。Tools菜單下的"Rights Assignments for User"用於給選定使用者指派許可權,操作結果與上面的命令相同。
圖十九 VSS項目許可權管理4、 Archive菜單下的"Archive Projects"用於將指定項目打包成*.ssa(SourceSafe Archive)檔案,並遷移到其他主機上,使用Archive的"Restore Projects"命令,將該檔案恢複到其他主機。這兩個命令用於項目的遷移。
總結使用SourceSafe與VS.Net開發環境,可以為團隊開發提供完整的原始程式碼控制方案。通過原始程式碼控制,可以記錄項目開發的過程,將檔案恢複到項目過程中的某一個點,而又無需在開發環境中儲存太多的舊文檔備份。