2017-05-12 12 views
1

Ich versuche, eine VS 2015-Erweiterung, um die derzeit verwendeten tfs zu verbinden. Ich fand eine LösungVisual Studio 2015 Erweiterung Feststellung tfs URL

TeamFoundationServerExt tfExt = DTE.GetObject("Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt") as TeamFoundationServerExt; 
return tfExt.ActiveProjectContext.DomainUri; 

leider denke ich TeamFoundationServerExt nicht in Visual Studio verwendet werden soll 2015`can jemand diesen mir bestätigen und sagen, wie es

Antwort

0

Nach Ihrer Beschreibung sollte getan werden, ich erstellen Demo und testen Sie den Code mit Visual Studio 2015, die Variable mit dem Namen tfExt return null, Wenn die Lösung in der VS IDE geöffnet ist, verbindet sich Team Explorer automatisch mit dem TFS-Server, der an die Lösung bindet. Daher können wir das DTE-Objekt verwenden, um das SourceControlExt-Objekt abzurufen, und dann die TFS-Serverinformationen aus den Eigenschaften abrufen.

VersionControlExt vce; 
VersionControlExplorerExt vcee; 

DTE2 dte = this.ServiceProvider.GetService(typeof(SDTE)) as DTE2; 
dte.ExecuteCommand("View.TfsSourceControlExplorer"); 
vce = dte.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") as VersionControlExt; 
vcee = vce.Explorer; 
var tfsServerName = vcee.Workspace.VersionControlServer.TeamFoundationServer.Uri; 

fügen Sie bitte die folgende Referenz hinzu.

using Microsoft.VisualStudio.TeamFoundation.VersionControl; 
+0

Danke für die Antwort. Die neueste Dokumentation zur VersionControlExt-Klasse (wie die von mir verwendete TeamFoundationServerExt-Klasse) ist für Visual Studio 2013. Es scheint, als ob es keinen Ersatz für Microsoft.VisualStudio.TeamFoundation.dll gibt. –

+0

Ja, die DLL (Microsoft.VisualStudio.TeamFoundation.VersionControl .dll) Konnte auch im vs 2016 Installationsordner gefunden werden, zB C: \ Programme (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Erweiterungen \ hdalyazr.nyu –

+0

Der letzte Teil des Pfades ist anders (ich vermute seine Maschine abhängig) für mich aber es hat mich in die richtige Gegend gebracht. Ich hatte ein NuGet-Paket namens Microsoft.TeamFoundation.ObjectModel gefunden, in dem sich die DLL befand. es hat das "Problem", das von .net 4.5 abhängt. Dies bedeutete, dass ich frühe Versionen einiger anderer Pakete verwenden musste, die ich brauchte. –

Verwandte Themen