团队构建错误:路径...已映射到工作区

时间:2008-10-22 15:26:41

标签: tfs tfs2008 build-server

在Team Foundation Server中创建新版本时,尝试运行新版本时出现以下错误:

  

路径   C:\建立\ ProductReleases \ FullBuildv5.4.2x \来源   已映射到工作区   BuildServer_23。

我无法在工作区对话框中看到该名称的工作区。

23 个答案:

答案 0 :(得分:135)

使用命令行实用程序 TF - Team Foundation版本控制工具 tf )。

您可以通过调出 Visual Studio命令提示符然后更改到工作区文件夹并发出以下命令来获取所有工作区的列表:

C:\YourWorkspaceFolder>tf workspaces /owner:*

您应该在列表及其所有者中看到您的问题工作区。

您可以使用以下命令删除工作区:

C:\YourWorkspaceFolder>tf workspace /delete /server:BUILDSERVER WORKSPACENAME;OWNERNAME

答案 1 :(得分:35)

只需删除以下文件夹的内容:

C:\ Users \ UserName \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache

其中UserName是实际或当前用户,3.0是版本号。

答案 2 :(得分:29)

我收到此错误,这是由于有两个指向同一源的构建定义引起的。问题是我在构建代理中使用了静态构建目录。

此论坛帖子完全描述了我的问题和解决方案: http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/60a4138a-9b28-4c46-bdf4-f9775ce43c3e/

答案 3 :(得分:25)

我们遇到了同样的问题,但从TFS服务器删除工作区不起作用。 (我应该提一下,我抓住了已经设置了他的凭据的同事VM。)

对我而言,这有效: http://blogs.msdn.com/b/buckh/archive/2006/09/12/path-is-already-mapped-in-workspace.aspx

我刚进入:... \ Local Settings \ Application Data \搜索了VersionControl.config,打开了包含该文件的文件夹并删除了所有内容。

在此之前,我尝试手动编辑该文件,但它继续显示相同的错误消息。

我希望这会有所帮助。

答案 4 :(得分:20)

我遇到了类似的问题并且删除了导致我出现问题的工作区,我登录了另一台安装了TFS客户端的计算机并执行了以下操作:

  • 文件菜单上,指向源代码管理高级,然后单击“确定”。 的工作区... 即可。
  • 管理工作区对话框中,勾选显示远程包复选框。
  • 名称列下,选择要删除的工作区,然后单击删除
  • 在 在确认对话框中,点击确定

答案 5 :(得分:16)

出于某种原因,我无法从命令行实用程序中删除工作区。幸运的是,我发现Team Foundation Sidekicks 2010(来自this post)是免费的,它提供了一个用于查看和删除TFS工作空间的GUI,以及更多有用的TFS功能。

答案 6 :(得分:5)

我有一个类似的问题,Visual Studio 2010抱怨已经映射的工作区,但我没有删除整个工作区,而是使用了Visual Studio命令提示符中的以下内容:“tf workspace PROBLEM_WORKSPACE_NAME”。这会打开一个“编辑工作区”对话框。从那里我能够从“工作文件夹”列表中删除有问题的路径,该列表消除了错误。

答案 7 :(得分:4)

这就是我的所作所为(以及我所做的):

使用TFS Sidekicks清除用户和服务器过滤器,使其为空白。这将让您获得所有工作区。

检查工作区名称的构建错误。在OPs的情况下,它是BuildServer_23。它在我的环境中有所不同,但基本上只是将错误名称与tfs sidekick列表中的错误名称相匹配。

单击红色x以删除工作区。

中提琴!

答案 8 :(得分:4)

其余的相当容易。

只需转到此文件夹: C:\ Users {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 4 \ Cache 并删除文件夹中的所有内容。

答案 9 :(得分:4)

我收到一个异常,告诉我该文件已经映射到另一个工作区: “路径{文件路径}已在工作区{工作区名称}中映射。”

此工作区已删除。 在我的朋友的帮助下,我发现TFS在用户本地设置目录下保存工作区信息。我们找到了一个名为:

的文件 {用户文档和设置目录} \ Local Settings \ Application Data \ Microsoft \ Team Foundation \ 1.0 \ Cache 下的

VersionControl.config 。 该文件包含TFS的所有本地映射。可能在您使用Map方法时不要使用: public void DeleteMapping(WorkingFolder mapping);在删除工作空间之前,不会从此文件中删除映射信息,TFS将使用该文件检查您是否已映射特定路径。

要解决此问题,请从配置文件中删除所有密钥。不要删除该文件,因为您将从服务器缓存中再次获取该文件。

答案 10 :(得分:1)

删除工作区和缓存对我来说还不够。 我还必须重新启动“ Visual Studio Team Foundation Build Service Host”服务。

答案 11 :(得分:1)

我尝试了以下所有解决方案,例如:

  1. 使用sidekicks删除WS。
  2. 使用tf命令删除远程服务器工作区。
  3. 删除TFS缓存文件夹。
  4. 以下对我有用:

    tf workspaces /remove:*
    

答案 12 :(得分:1)

如果适用,您还可以克隆构建定义并更改其名称。这适合我。

答案 13 :(得分:1)

如果您没有服务器上的权限来删除其他人的工作区,则只需更改构建定义的名称即可。 TFS将创建一个新工作区并将其映射到“C:\ Build \ ProductReleases \ new build name here \ Sources”。

答案 14 :(得分:0)

最简单的方法是转到AppData并删除TFS缓存(取决于版本3.0或4.0)

C:\ Users {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache 要么 C:\ Users {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 4.0 \ Cache

答案 15 :(得分:0)

尝试获取最新版本'我之前已映射到本地目录然后删除的项目,我看到了同样的错误消息。 首先,我尝试了SideKick工具,然后尝试了Visual Studio 2010命令提示符,这两个工具都告诉我没有映射工作空间。

接下来我搜索了' VersionControl.config'在c:/users/myuser/appdata内删除了它找到的4个引用。 我重新打开了Visual Studio,我能够重新映射项目,不再出错!

答案 16 :(得分:0)

当我遇到同样的问题时,TDN的解决方案对我有用。构建服务器在我的帐户下创建了工作区。选中此框可以查看和删除它们。

答案 17 :(得分:0)

我改变了

Build Definition -> Workspace -> Build Agent Folder

c:\some\path

$(SourceDir)

它解决了这个问题。

答案 18 :(得分:0)

我在Visual Studio 2017和TFS 2017中遇到了同样的问题。必须先将DefaultCollection映射到本地路径。不知怎的,这一步被跳过了,我只得到了映射的MyFirstProject。

enter image description here

您需要做的就是:
- 1。转到TFS网页并从服务器中删除项目。

enter image description here

- 2. 从本地“工作区”中删除项目

enter image description here

- 3. 转到“管理连接”,这将刷新TeamExplorer中的主页。

enter image description here

- 4. 您将获得“配置”页面,该页面允许您设置DefaultCollection的根路径。

enter image description here

- 5. 您应该收到已成功完成的消息。现在您可以创建项目了。

enter image description here

首先将集合的根映射到工作区然后映射新项目非常重要。

答案 19 :(得分:0)

我的问题与使用多个帐户有关。这就是我能够切换帐户的方式。

打开团队资源管理器

从窗格顶部附近的大下拉菜单中...

导航至: 项目和我的团队> 管理连接

导航至: 管理连接> 连接到团队项目

使用"切换用户"链接切换帐户。

现在,工作区名称将与所选帐户匹配。

答案 20 :(得分:0)

只需删除工作区:

With DistinctDates as
(
    SELECT DISTINCT [SnapshotDate]
    FROM [data].[table]
)
, LastSnapshots AS
(
    SELECT 
        [SnapshotDate], 
        ROW_NUMBER() OVER (ORDER BY [SnapshotDate] DESC) AS SnapshotId
    FROM 
        DistinctDates
) x
SELECT
    SnapshotId,
    e.[SnapshotDate],
    e.[EmployeeNumber]
    ,e.[UserStatus]
    ,e.[AssignmentStatus]
    ,e.[EmpDateLatestStart]
    ,e.[DateOfLeaving]
    ,e.[PeriodEndDate]
    ,s.[LocationNumber]
    ,e.[DateFirstHired]
    ,e.[JobName]
FROM
    [data].[table] e,
    x.LastSnapshots
INNER JOIN 
    [data].[hierarchy] s ON e.[LocationNumber] = s.[LocationNumber] 
WHERE   
    x.SnapshotId <= 26
    AND e.[LeavingContext] IN ('Dismissal', 'End of Contract', 'Mutual Agreement', 'N/A', 'Resignation')

答案 21 :(得分:0)

我无法获得其他解决方案。

我创建了一个新帐户,旧帐户不再具有权限(都在同一台计算机上)。

我尝试过: 1)删除工作空间(在VS中选中或不选中远程工作空间都看不到) 2)从命令行删除 3)新的所有者命令 4)删除缓存

所以我只是以管理员身份打开VS并映射到另一个文件夹。

答案 22 :(得分:-1)

我在本地TFS构建代理中使用Azure DevOps自动构建遇到了这个问题。使用TFS Sidekicks删除工作空间无效。而且tf.exe甚至找不到要删除它的工作区。

此解决方案应适用于TFS 2017,TFS 2018,Azure DevOps以及可能的其他版本:

  1. 在错误消息中记下工作区GUID。
  2. 在进行构建的计算机上,导航至:%USERPROFILE%\ AppData \ Local \ Microsoft \ Team Foundation \(其中%USERPROFILE%属于触发构建的用户)。
  3. 在该目录下搜索并删除工作区GUID的所有实例。 “缓存”目录中可能会有一个文件夹,以及“ LocationServerMap.xml”和“ LocalItemExclusions.config”中的条目。全部删除。

在我的情况下有效。