我正在開發一個TFS工具來協助我們公司的開發人員。在Visual Studio外部使用VersionControlExt.Explorer
這個工具需要能夠像在源代碼管理資源管理器中一樣「瀏覽」TFS服務器。我相信通過使用VersionControlExt.Explorer.SelectedItems,將彈出一個用戶界面,使用戶能夠瀏覽TFS服務器(如果我錯了,請糾正我)。
但是,只有在Visual Studio(又名插件)內開發時纔可以訪問VersionControlExt。不幸的是,我正在開發一個Windows應用程序,它贏得了VS.
所以問題是,我可以在Visual Studio之外使用VersionControlExt嗎?如果是,如何?
Here's上使用Changset詳細信息對話框的Visual Studio之外的企圖
string path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Assembly vcControls = Assembly.LoadFile(path + @"\Microsoft.TeamFoundation.VersionControl.Controls.dll");
Assembly vcClient = Assembly.LoadFile(path + @"\Microsoft.TeamFoundation.VersionControl.Client.dll");
Type dialogChangesetDetailsType = vcControls.GetType("Microsoft.TeamFoundation.VersionControl.Controls.DialogChangesetDetails",true);
Type[] ctorTypes = new Type[3] {vcClient.GetType("Microsoft.TeamFoundation.VersionControl.Client.VersionControlSever"),
vcClient.GetType("Microsoft.TeamFoundation.VersionControl.Client.Changeset"), typeof(System.Boolean)};
ConstructorInfo ctorInfo = dialogChangesetDetailsType.GetConstructor(ctorTypes);
Object[] ctorObjects = new Object[3] {VersionControlHelper.CurrentVersionControlServer, uc.ChangeSet, true};
Object oDialog = ctorInfo.Invoke(ctorObjects);
dialogChangesetDetailsType.InvokeMember("ShowDialog", BindingFlags.InvokeMethod, null, oDialog, null);
只是好奇,爲什麼不使用由微軟提供的網絡版本,包括在默認與TFS2010安裝以及:http://msdn.microsoft.com/en-us/teamsystem/bb980951.aspx 我很好奇,因爲我們有類似的情況,網絡版本沒有滿足什麼需求? – 2010-01-22 13:31:59
也有計劃在我們的構建系統中加入這個工具。請注意,我們的構建系統是從1995年開始的,仍然使用批處理文件(而不是TFS構建系統)。 – Ian 2010-01-24 09:29:35