Hoe vindt TFPT.exe in welke werkruimte het moet werken?

Bij het gebruik van tfpt van het commando, krijg ik de foutmelding:

PS D:\Main Line> tfpt uu /noget
Unable to determine the workspace.

Hier probeer ik het commando Undo Unchanged te gebruiken, maar ik heb deze fout ook bij andere commando’s gezien. Het pad waar ik ben, is het exacte pad dat is toegewezen in mijn TFS-werkruimte. Ik heb dit ook geprobeerd, wat ook niet werkt

PS D:\Main Line> tfpt uu /recursive /noget 'D:\Main Line'
Unable to determine the workspace.

Ik dacht dat het alleen het huidige pad gebruikte om erachter te komen, maar ik krijg het niet goed werkend. Weet iemand hoe dit werkt?


Antwoord 1, autoriteit 100%

Ik kwam hetzelfde probleem tegen, ik vond het antwoord onderaan de pagina in een van de helpbestanden die bij The power tools werden geleverd. (TFPTCommandLineTool.mht)

Fouten

TFPT-fout: kan de werkruimte niet bepalen

Als u tfpt uitvoert met een opdracht die werkt met versiebeheer, kunt u een van de volgende fouten krijgen:

Unable to determine the workspace 
Unable to determine the source control server

Oplossingen:

  • Voer tfpt.exeuit vanuit een map die al is toegewezen aan het bronbeheer van Team Foundation.
  • Update de cache van uw lokale werkruimte met de opdracht tf workspaces. De tool tf.exeis beschikbaar in de submap Common7\IDEvan uw Visual Studio-installatiemap. Als u een Visual Studio-opdrachtprompt start, kunt u de volgende opdracht uitvoeren (die afhangt van uw versies van TFS/VisualStudio – u moet de versie gebruiken die overeenkomt met de versie van TFPT die u gebruikt, bijvoorbeeld als je hebt TFPT voor VS2015, gebruik TF vanaf een VS2015-opdrachtprompt):
    • VS 2008-2013 / TFS 2008:
      • tf workspaces /s:serverURL
    • VS 2010-2013 / TFS 2010 (en waarschijnlijk ook latere versies):
      • tf workspaces /collection:collectionURL
    • VS 2008 / TFS 2010 (en waarschijnlijk ook latere versies):
      • tf workspaces /s:collectionURL
  • Als u onlangs Visual Studio 2012 hebt geïnstalleerd, moet u deze mogelijk verbinden met dezelfde TFS-server/collectie die u in Visual Studio 2010 gebruikte.

Antwoord 2, autoriteit 31%

Als u tf workspaces /s:serverURLgebruikt, zorg er dan voor dat u de juiste tf.exegebruikt!
Ik had hetzelfde probleem en zat vast omdat ik de tf.exegebruikte van:

\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE

en niet die van:

\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE


Antwoord 3, autoriteit 6%

Voor gebruikers van Visual Studio 2017

Ik had hetzelfde probleem toen ik de opdrachtregel tfptprobeerde uit te voeren op een nieuwe machine-installatie met VS215 en VS2017 geïnstalleerd. De nieuwste versie voor de tfpt-tool op het moment van schrijven is van TFS Elektrisch gereedschap 2015. Dat betekent dat de lokale werkruimtetoewijzing eerst in VS2015 moet worden geladen voordat de tool tfptde werkruimte kan vinden.

Aangezien mijn team VS2017 gebruikt, heb ik alleen de werkruimtetoewijzing in deze Visual Studio-versie gedaan. Toen ik de opdrachtprompt van de VS2017-ontwikkelaar opende om deze tool te gebruiken, kreeg ik het bericht ‘Kan de werkruimte niet bepalen’.

Om dit op te lossen heb ik VS2015 geopend en de Team Explorer verbonden met de TFS-server. Het herkent meteen de workspace mapping die is gemaakt onder VS2017. Hierna werkt de tfpt-tool correct onder de VS2015- en VS2017-opdrachtprompts van de ontwikkelaar.


Antwoord 4, autoriteit 2%

Ik heb dit allemaal geprobeerd en toch kreeg ik dezelfde foutmelding. De fout is generiek genoeg om meerdere problemen te vertegenwoordigen, denk ik..

TFPT opnieuw installeren vanuit

https://visualstudiogallery.msdn.microsoft.com/f017b10c- 02b4-4d6d-9845-58a06545627f

het probleem is voor mij opgelost.


Antwoord 5

Hoewel ik geloof dat deze tijdelijke oplossingen in sommige gevallen dingen kunnen oplossen, werken ze niet in alle gevallen. En ik vermoed sterk dat dit uiteindelijk wijst op wat als een fout ergens in de PowerTools-code zou kunnen worden beschouwd. De reden dat ik dit zeg, is dat de opdracht tf workspace geen probleem heeft om de werkruimte op mijn computer te detecteren vanaf de VS Command-console, maar vanaf diezelfde console met allemaal dezelfde padinformatie, kan TFPT het niet op mijn laptop detecteren, ongeacht wat ik probeer. Ik heb net deze laptop gekregen en VS 2010, 2012 en 2013 geïnstalleerd, samen met de respectievelijke Power Tools-installaties, en wees op een reeks projecten die momenteel verschillende TFS 2010- en TFS 2012-instanties omvatten. Vanwege deze veel-op-veel-relatie vermoed ik dat er ergens een onjuiste assembly-referentie is, een combinatie van factoren, GAC, pad, omgevingsvariabelen, VS-installaties, TFS-repositories. In elke VS-versie probeerde ik het uitvoerbare bestand TFPT 2010 van de VS 2010-opdracht uit te voeren, enzovoort met de resterende versies, en probeerde ik de bovenstaande cache-updates voor de werkruimte in al hun vormen… niets. Maar met hetzelfde project maakte ik verbinding vanaf een oude server met VS 2010 en TFPT 2010 geïnstalleerd en voerde ik hetzelfde commando perfect uit. Dus ik denk dat het te maken heeft met wat er op je systeem draait, en in de toekomst zal ik veel sceptischer zijn over het naast elkaar draaien van de verschillende versies.

Other episodes