5

I'm working on a Visual Studio 2010 add-in, and I'm trying to figure out how to determine the currently connected TFS server. I'm guessing I need to use DTE, but I'm having a brain cramp figuring out where to get the info.

jessehouwing
  • 106,458
  • 22
  • 256
  • 341
Robaticus
  • 22,857
  • 5
  • 54
  • 63

2 Answers2

2

I suggest you check out the Microsoft.TeamFoundation.VersionControl.Client.Workstation.GetLocalWorkspaceInfo method, in result you have an object and access ServerUri property

See this documentation on MSDN for more details.

jessehouwing
  • 106,458
  • 22
  • 256
  • 341
Aghilas Yakoub
  • 28,516
  • 5
  • 46
  • 51
1

Robaticus originally edited the question with the solution. Converted it to a Community Wiki answer:

Actually, I may have found the answer, which I culled from a couple places.

var dte = Package.GetGlobalService(typeof(EnvDTE.DTE)) as EnvDTE.DTE;

TeamFoundationServerExt ext = dte.GetObject("Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt") as TeamFoundationServerExt;

TeamFoundationServer tfs = new TeamFoundationServer(ext.ActiveProjectContext.DomainUri);
VersionControlServer vcs = tfs.GetService<VersionControlServer>();

var changes = vcs.GetPendingChanges(null);
jessehouwing
  • 106,458
  • 22
  • 256
  • 341