题
在 Team Foundation Server 中创建新版本时,尝试运行新版本时出现以下错误:
路径c: build produreleases fullbuildv5.4.2x sources已经映射到工作区buildserver_23。
我无法在工作区对话框中看到该名称的工作区。
解决方案
使用命令行实用程序 TF - Team Foundation版本控制工具( tf )。
您可以通过调出 Visual Studio命令提示符然后更改到工作区文件夹并发出以下命令来获取所有工作区的列表:
C:\YourWorkspaceFolder>tf workspaces /owner:*
您应该在列表及其所有者中看到您的问题工作区。
您可以使用以下命令删除工作区:
C:\YourWorkspaceFolder>tf workspace /delete /server:BUILDSERVER WORKSPACENAME;OWNERNAME
其他提示
只需删除以下文件夹的内容:
C:\ Users \ UserName \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache
其中UserName是实际或当前用户,3.0是版本号。
我收到此错误,这是由于有两个指向同一源的构建定义引起的。问题是我在构建代理中使用了静态构建目录。
此论坛帖子完全描述了我的问题和解决方案: http:// social。 msdn.microsoft.com/Forums/en-US/tfsbuild/thread/60a4138a-9b28-4c46-bdf4-f9775ce43c3e/
我们遇到了同样的问题,但从TFS服务器删除工作区不起作用。 (我应该提一下,我抓住了已经设置了他的凭据的同事VM。)
对我而言,这有效: http://blogs.msdn。 COM / b / buckh /存档/ 2006/09/12 /路径-IS-已经映射功能于workspace.aspx
我刚进入:... \ Local Settings \ Application Data \搜索了VersionControl.config,打开了包含该文件的文件夹并删除了所有内容。
在此之前,我尝试手动编辑该文件,但它继续显示相同的错误消息。
我希望这会有所帮助。
我遇到了类似的问题,为了删除导致问题的工作区,我登录到另一台安装了 TFS 客户端的计算机并执行了以下操作:
- 上 文件 菜单,指向 源代码控制, 先进的, ,然后单击工作空间....
- 在里面 管理工作区 对话框中,勾选 显示远程包 复选框。
- 在下面 姓名 列中,选择要删除的工作区,然后单击 消除.
- 在里面 确认 对话框中,单击 好的.
出于某种原因,我无法从命令行实用程序中删除工作区。幸运的是,我发现 Team Foundation Sidekicks 2010 (来自这篇文章)免费提供GUI用于查看和删除TFS工作区以及更多有用的TFS功能。
我有一个类似的问题,Visual Studio 2010抱怨已经映射的工作区,但我没有删除整个工作区,而是使用了Visual Studio命令提示符中的以下内容:“tf workspace PROBLEM_WORKSPACE_NAME”。这带来了“编辑工作区”。对话。从那里,我能够从“工作文件夹”中删除有问题的路径。列表,摆脱了错误。
这就是我的所作所为(以及我所做的):
使用TFS Sidekicks清除用户和服务器过滤器,使其为空白。这将让您获得所有工作区。
检查工作区名称的构建错误。在OPs的情况下,它是BuildServer_23。它在我的环境中有所不同,但基本上只是将错误名称与tfs sidekick列表中的错误名称相匹配。
单击红色x以删除工作区。
中提琴!
其余的相当容易。
只需转到此文件夹: C:\ Users {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 4 \ Cache 并删除文件夹中的所有内容。
我收到一个异常,告诉我该文件已经映射到另一个工作区: "路径{文件路径}已映射到工作区{工作区名称}。“
此工作区已删除。 在我的朋友的帮助下,我发现TFS在用户本地设置目录下保存工作区信息。我们找到了一个名为:
的文件 {用户文档和设置目录} \ Local Settings \ Application Data \ Microsoft \ Team Foundation \ 1.0 \ Cache 下的VersionControl.config 。 该文件包含TFS的所有本地映射。可能在您使用Map方法时不要使用: public void DeleteMapping(WorkingFolder mapping);在删除工作空间之前,不会从此文件中删除映射信息,TFS将使用该文件检查您是否已映射特定路径。
要解决此问题,请从配置文件中删除所有密钥。不要删除该文件,因为您将从服务器缓存中再次获取该文件。
如果您没有服务器上的权限来删除其他人的工作区,则只需更改构建定义的名称即可。 TFS将创建一个新工作区并将其映射到“C:\ Build \ ProductReleases \ new build name here \ Sources”。
如果适用,您还可以克隆构建定义并更改其名称。这适合我。
我尝试了以下所有解决方案,例如:
- 使用sidekicks删除WS。
- 使用tf命令删除远程服务器工作区。
- 删除TFS缓存文件夹。 醇>
以下对我有用:
tf workspaces /remove:*
我改变了
Build Definition -> Workspace -> Build Agent Folder
这
c:\some\path
到
$(SourceDir)
它解决了这个问题。
在尝试“获取我之前映射到本地目录然后删除的项目的最新版本”时,我看到了同样的错误消息。 首先,我尝试了SideKick工具,然后尝试了Visual Studio 2010命令提示符,这两个工具都告诉我没有映射工作空间。
接下来,我在 c:/ users / myuser / appdata
中搜索了“VersionControl.config”,并删除了它找到的4个引用。
我重新打开了Visual Studio,我能够重新映射项目,不再出错!
最简单的方法是转到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
我的问题与使用多个帐户有关。这就是我能够切换帐户的方式。
打开团队资源管理器
从窗格顶部附近的大下拉菜单中...
导航至: 项目和我的团队> 管理连接
导航至: 管理连接> 连接到团队项目
使用“切换用户”链接切换帐户。
现在,工作区名称将与所选帐户匹配。
只需删除工作区:
workspace /delete "the-workspace-name"
我在本地TFS构建代理中使用Azure DevOps自动构建时遇到此问题。使用TFS Sidekicks删除工作区不起作用。并且tf.exe甚至找不到要删除它的工作区。
此解决方案适用于TFS 2017,TFS 2018,Azure DevOps以及其他可能的版本:
- 记下错误消息中的工作区GUID。
- 在进行构建的计算机上,导航至:%USERPROFILE%\ AppData \ Local \ Microsoft \ Team Foundation \(其中%USERPROFILE%属于触发构建的用户)。
- 搜索并删除该目录下的工作区GUID的所有实例。 'cache'目录中可能有一个文件夹,以及'LocationServerMap.xml'和'LocalItemExclusions.config'中的条目。全部删除它们。 醇>
这在我的情况下起作用。