2013-10-23 16 views
9

Ich benutze normalerweise die VS GUI für TFS und hatte nie ein Problem.TFS Kommandozeile 'Get' fehlgeschlagen

Ich versuche, die Befehlszeile zu arbeiten und TF von der Wurzel des zugeordneten Verzeichnisses der Sammlung ausführen.

Als ich TF Get <project name> /noprompt/recursive

laufen bekomme ich die Fehlermeldung:

kann nicht auf den Arbeitsbereich bestimmen. Sie können dies möglicherweise korrigieren, indem Sie 'tf workspaces/collection: TeamProjectCollectionUrl' ausführen.

Ich habe dies ausgeführt, aber der Fehler existiert noch.

Wenn ich TF-Arbeitsbereiche ausführen, habe ich einen Eintrag für den Computer, auf dem ich bin (die TFS-Quelle befindet sich auf einem anderen PC), und den Sammlungspfad http://<comp name:port>/TFS/<project> der korrekt ist.

Hat sich noch jemand in dieser Situation befunden? Die verschiedenen Seiten, über die ich gesprochen habe, scheinen nach dem Ausführen des Befehls tf workspaces zu stoppen. Hat das immer für alle anderen funktioniert? Vielleicht benutze ich es einfach falsch?

+0

Welche Visual Studio-Versionen haben Sie installiert und welche Version ifs dem TFS-Server Sie sich verbinden? – jessehouwing

+0

können Sie einen Screenshot des Visual Studio-Mapping-Konfigurationsbildschirms und den genauen Ort teilen, an dem Sie den Befehl tf ausführen möchten? – jessehouwing

+0

Es sieht so aus als ob du auf dem richtigen Weg bist. Wenn ich den vollständigen Pfad entferne und einfach TF verwende, funktioniert es perfekt. Genau derselbe Befehl schlägt fehl, wenn TF pathqualifiziert ist! – Stefan

Antwort

13

Sie erhalten diese Nachricht, weil die TF-Abfrage außerhalb Ihrer Arbeitsbereichsverzeichnis-CD in das Verzeichnis ausgeführt wird, das den Arbeitsbereich enthält, mit dem Sie zuerst arbeiten müssen.

+0

Ich führe es von der Wurzel des zugeordneten Verzeichnisses für das Projekt, das ich versuche zu bekommen. Ist das nicht richtig? – Stefan

+0

Im tfs-Quellen-Explorer-Fenster unter Arbeitsbereichen sollte der ausgewählte Arbeitsbereich den Quellcode-Steuerungsordner und den lokalen Ordner anzeigen. Müssen Sie im lokalen Ordner sein, bevor Sie ein TF bekommen. –

+0

löste es - wurde eine vollständige Pfad-Qualifikation für die TF.exe verwendet, entfernt das und jetzt funktioniert es! – Stefan

3

Die Kommandozeile ist nicht für den TFS-Server uri zu fragen, aber für die ProjectCollection uri, so müssen Sie einige zusätzliche Informationen hinzuzufügen:

{https}://{tfsserver}:{port}/tfs/{collection}

ersetzen:

{https} stellen Sie sicher, dass Sie das richtige Protokoll, http oder https verwenden.

{tfsserver} mit dem Hostnamen des TFS-Server

{port} mit der Portnummer (Standard: 8080 oder 443)

{collection} mit dem Projekt Kollektionsnamen (Installation Standard: DefaultCollection)

Die ProjectCollection ist nicht dasselbe wie das Projekt. Stellen Sie also sicher, dass Sie die richtigen Werte eingeben. Der einfachste Ort, um den Namen der Sammlung zu finden, besteht darin, Visual Studio und dann den Source Control Explorer zu öffnen. Der URI für die Projektsammlung sollte der Root-Knoten sein. Es kann sein, dass Sie den Project-Namen anstelle des ProjectCollection-Namens eingeben.

Wenn Sie sich in einem Ordner befinden, der TFS zugeordnet ist, sollte tf get die CollectionUri selbst darstellen.

Wenn Sie Visual Studio 2010 und 2012 oder 2013 nebeneinander installiert haben, stellen Sie sicher, dass Sie die Developer Command Prompt der richtigen Version von Visual Studio verwenden. Mit dem Aufkommen von lokalen Arbeitsbereichen kann die Befehlszeile 2010 möglicherweise Ihre Zuordnungen nicht finden, wo die Befehlszeile 2012 oder 2013 sein wird.

+0

Ich formatierte Ihre Suche so, dass es tatsächlich die richtige URI zeigt, die Sie versuchten. Es scheint, dass Sie einen Projektnamen angegeben haben, wo die Frage ursprünglich verborgen war, weil sie versucht hat, es zu analysieren, als wäre es HTML. – jessehouwing

+0

Nun, ich bin ratlos, ich habe durchgeschaut, was du hier geschrieben hast und dann, als ich noch einmal getestet habe, habe ich meinen Anruf zu TF entfernt, der den vollen Pfad hat und einfach TF benutzt, falls es funktioniert und die Leitung kürzer gemacht hat. Genau derselbe Befehl funktioniert mit TF, das nicht mit der Pfad-qualifizierten Version funktioniert !!!?!?! ??! – Stefan

+0

Ich vermute, es ist die Visual Studio-Version, die hier spielt ... Welchen genauen Pfad hast du benutzt? – jessehouwing

0

Ich habe dieses Problem behoben, indem ich tf über die "Visual Studio-Eingabeaufforderung" (auch bekannt als Developer Command Prompt) ausgeführt habe, statt die Standardbefehlseingabe auszuführen, die mit dem Betriebssystem geliefert wird.

Sie finden es in Windows 7 unter "Start -> Alle Programme -> Microsoft Visual Studio -> Visual Studio Tools -> Visual Studio Eingabeaufforderung".

Weitere Informationen, einschließlich Anweisungen für andere Windows-Versionen, finden Sie unter Microsoft's Visual Studio Command Prompt MSDN page.

0

Ich habe dieses Problem behoben mit:

tf workspaces /collection:http://example:8080 

tf workfold 

tf get /r . 
Verwandte Themen