TFS命令行“获取”失败

时间:2013-10-23 14:56:00

标签: visual-studio command-line tfs

我通常使用VS GUI进行TFS,从未遇到任何问题。

我正在尝试让命令行工作,并从集合的映射目录的根目录运行TF。

当我运行TF Get <project name> /noprompt / recursive

我收到错误消息:

  

无法确定工作区。您可以通过运行'tf workspaces / collection:TeamProjectCollectionUrl'来纠正此问题。

我已经运行了这个,但错误仍然存​​在。

当我运行TF工作区时,我有一个我正在使用的计算机的条目(TFS源位于不同的PC上)和收集路径http://<comp name:port>/TFS/<project>这是正确的。

还有其他人遇到过这种情况吗?我发现谈论它的各个页面似乎在运行tf workspaces命令后停止。这总是适用于其他人吗?也许我只是错误地使用它?

4 个答案:

答案 0 :(得分:13)

您收到此消息是因为TF get正在您的工作区目录CD之外运行到包含您需要首先使用的工作区的目录。

答案 1 :(得分:3)

命令行不是要求TFS服务器uri,而是要求ProjectCollection uri,所以你需要添加一些额外的信息:

  

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

替换:

  

{https}确保使用正确的协议,http或https。

     带有tfs服务器主机名的

{tfsserver}

     带有端口号的

{port}(默认值为8080443

     带有项目集合名称的

{collection}(安装默认值为:DefaultCollection

ProjectCollection与项目不同,因此请确保输入正确的值。找到集合名称最简单的地方是打开Visual Studio,然后打开Source Control Explorer。项目集合的Uri应该是根节点。您可能正在输入项目名称,而不是ProjectCollection名称。

如果你在一个映射到TFS的文件夹中,那么tf get应该自己计算CollectionUri。

如果并排安装了Visual Studio 2010和2012或2013,请确保使用正确版本的Visual Studio中的Developer Command Prompt。随着本地工作区的出现,2010命令行可能无法找到2012或2013命令行所在的映射。

答案 2 :(得分:0)

我通过使用&#34; Visual Studio命令提示符&#34;运行tf来修复此问题。 (也称为开发人员命令提示符),而不是运行操作系统附带的默认命令提示符。

您可以在Windows 7的&#34;开始 - &gt;下找到它。所有程序 - &gt; Microsoft Visual Studio - &gt; Visual Studio工具 - &gt; Visual Studio命令提示符&#34;。

您可以访问Microsoft's Visual Studio Command Prompt MSDN page

,找到更多文档,包括其他Windows版本的说明

答案 3 :(得分:0)

我解决了这个问题:

private ClassUnderTest classUnderTest;

private Collaborator mock;

@Test
public void test12() {
  mock = mock(Collaborator.class);
  replay(mock);

  classUnderTest.setCollaborator(mock);
  classUnderTest = new ClassUnderTest(1, 2);

  Integer result = classUnderTest.work(3, 4);
  // Assertions
}