2010-07-27 10 views
5

Ich arbeite an einem Visual Studio 2010-Add-In und versuche herauszufinden, wie der aktuell verbundene TFS-Server ermittelt werden kann. Ich schätze, ich muss DTE verwenden, aber ich habe einen Gehirnkrampf, um herauszufinden, wo ich die Informationen bekommen kann.Aktuelle TFS-Verbindung in einem Visual Studio-Add-In abrufen

+0

Es sieht so aus, als ob Sie tatsächlich ein Paket schreiben, kein Add-In. Ja? –

+0

Ich dachte ein Paket als eine Sammlung von Addins? Dies ist die erste Erweiterung Aktivitäten, die ich mit 2010 gemacht habe, so dass ich ein wenig verwirrt sein kann. – Robaticus

+0

jede Lösung für TFS-Verbindung in Addin bekommen? – Kiquenet

Antwort

2

Ich schlage vor, Sie überprüfen die Microsoft.TeamFoundation.VersionControl.Client.Workstation.GetLocalWorkspaceInfo Methode, in Ergebnis Sie haben ein Objekt und den Zugang ServerUri property

this documentation on MSDN for more details See.

1

Robaticus hat die Frage ursprünglich mit der Lösung bearbeitet. Konvertiert es in eine Community Wiki Antwort:

Eigentlich könnte ich die Antwort gefunden haben, die ich aus ein paar Orten killte.

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);