2013-10-23 242 views
9

我通常使用VS GUI作爲TFS,並且從來沒有任何問題。TFS命令行'Get'失敗

我想讓命令行工作,並從集合的映射目錄的根目錄運行TF。

當我運行TF Get <project name> /noprompt/recursive

我得到的錯誤信息:

無法確定工作區。您可以通過運行'tf workspaces/collection:TeamProjectCollectionUrl'來解決此問題。

我已經運行這個,但錯誤仍然存​​在。

當我運行TF工作區時,我有一臺我正在使用的計算機(TFS源位於另一臺PC上)和收集路徑http://<comp name:port>/TFS/<project>,這是正確的。

有沒有其他人在這種情況下?在運行tf workspaces命令後,我所發現的各種頁面似乎都停止了。這是否一直適用於其他人?也許我只是用它錯了?

+0

其中的Visual Studio版本是否安裝什麼版本IFS你連接到TFS服務器? – jessehouwing

+0

你能分享一下Visual Studio映射配置屏幕的屏幕截圖,以及你試圖從他的命令中刪除的確切位置嗎? – jessehouwing

+0

它看起來像你在正確的道路上。如果我刪除完整的路徑,只使用TF,那麼它完美的工作。當TF路徑合格時,完全相同的命令會失敗! – Stefan

回答

13

您正在收到此消息,因爲TF get正在工作空間目錄CD之外運行到包含您首先需要使用的工作空間的目錄。

+0

我正在從我試圖獲得的項目的映射目錄的根目錄運行它。這是不對的? – Stefan

+0

在工作區下的tfs源資源管理器窗口中,您選擇的工作區應顯示源控制文件夾和本地文件夾。在獲得tf之前需要在本地文件夾中。 –

+0

解決了它 - 正在使用TF.exe的完整路徑限定,刪除了它,現在它工作! – Stefan

3

命令行不要求輸入TFS服務器URI,但是對於ProjectCollection URI,所以你需要添加一些額外的信息:

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

替換:

{https}確保您使用正確的協議http或https。

{tfsserver}與TFS服務器

{port}與端口號(默認:8080443)主機名

{collection}與項目集合名稱(安裝時的默認:DefaultCollection

ProjectCollection與項目不同,因此請確保輸入正確的值。查找集合名稱的最簡單方法是打開Visual Studio,然後打開Source Control Explorer。項目集合的Uri應該是根節點。這可能是因爲您輸入的是項目名稱,而不是ProjectCollection名稱。

如果您位於映射到TFS的文件夾中,則tf get應該單獨指定CollectionUri。

當您並行安裝Visual Studio 2010和2012或2013時,請確保您使用Visual Studio正確版本的開發人員命令提示符。隨着本地工作區的出現,2010年的命令行可能無法找到您的映射,即2012年或2013年的命令行。

+0

我重新格式化了您的questoin,以便它實際顯示正在嘗試的正確的uri。看起來你提供了一個項目名稱,其中最初的問題隱藏着,因爲它試圖將它解析爲HTML。 – jessehouwing

+0

現在我很難過,我翻看了你在這裏寫的內容,然後當我重新測試時,我移除了我的呼叫到具有完整路徑的TF,並簡單地使用了TF,以防它工作並縮短了行。與TF完全相同的命令不適用於路徑限定版本!!!?!?!??! – Stefan

+0

我懷疑這是在這裏玩的視覺工作室版本......你使用了哪條確切的路徑? – jessehouwing

0

我通過使用「Visual Studio命令提示符」(也稱爲開發人員命令提示符)運行tf而不是運行操作系統附帶的默認命令提示符來修復此問題。

您可以在Windows 7的「開始 - >所有程序 - > Microsoft Visual Studio - > Visual Studio工具 - > Visual Studio命令提示符」下找到它。

您可以通過訪問Microsoft's Visual Studio Command Prompt MSDN page找到更多文檔,包括其他版本的Windows的說明。

0

我得到這個固定的:

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

tf workfold 

tf get /r .