Visual studio Azure Devops-删除工作区
使用VS 2019的开发者命令提示符 我可以看到我所有工作区的列表Visual studio Azure Devops-删除工作区,visual-studio,tfs,azure-devops,Visual Studio,Tfs,Azure Devops,使用VS 2019的开发者命令提示符 我可以看到我所有工作区的列表 tf工作区/集合:https://dev.azure.com/[组织]“/所有者: 然后,我可以使用以下方法删除本地工作区: tf工作区/删除[工作区];“[所有者]” 如果启动Visual Studio,然后重新运行第一个命令,工作区将返回 如果我从VS UI中删除工作区,也会发生同样的情况。当我单击map&get以创建一个与刚才删除的同名的新工作区时,它将重新出现 注释 在重新启动Visual Studio之前,我还尝试过
tf工作区/集合:https://dev.azure.com/[组织]“/所有者:
然后,我可以使用以下方法删除本地工作区:
tf工作区/删除[工作区];“[所有者]”
如果启动Visual Studio,然后重新运行第一个命令,工作区将返回
如果我从VS UI中删除工作区,也会发生同样的情况。当我单击map&get
以创建一个与刚才删除的同名的新工作区时,它将重新出现
注释 在重新启动Visual Studio之前,我还尝试过:
C:\Users\[NAME]\AppData\Local\Microsoft\Team Foundation\8.0\Cache
C:\Users\[NAME]\source\workspace
编辑 经过一些测试,我相信问题可能与同名的旧工作区有关。我无法删除旧工作区,因为当我尝试删除旧的非本地数据库时,我收到: 错误: 工作空间[工作空间];[所有者]不存在 我现在相信旧工作区是我从旧TFS迁移到Azure时的痕迹
问题
若要删除现有工作区,您必须是所有者或将全局管理工作区权限设置为允许 您也可以尝试使用onweruniq ID而不是name
tf vc workspaces ws_3_3 /computer:* /format:xml /collection:https://dev.azure.com/patricklu/
ws_3_3
是您要删除的工作区名称,只需键入您的集合url即可
在提示窗口中,键入要连接到url的地址(如果有)
在此之后,它将返回以下信息:
具有所有者uniq ID的信息
然后您只需要使用tf workspace/delete命令,在我的示例中,它使用:
tf workspace /delete ws_3_3;fb46f066-9122-4342-94c4-93b7526a3545
只需键入yes,它将删除工作区。“无法确定源代码管理服务器”这可能是由于在尝试非本地删除工作区时未包含集合url造成的
1。如何删除所有工作区?
公司没有删除所有工作区的命令,您必须逐个执行
2。能否从Azure开发人员操作门户删除工作区?
不,你不能这么做。您应该使用命令行或通过VisualStudioUI
详情如下:
希望这有帮助 我最近在删除工作区时遇到了一些问题,因为拥有该工作区的用户已离开,因此验证无法重新注册他们的帐户 向我介绍了
tf workspace
命令的XML输出;使我能够获取用户的基本id并使用该id删除工作区
下面是我用来删除用户所有工作区的PowerShell包装:
Set-Alias -Name 'tf' -Value 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe' # amend path so it points to your tf.exe file
# fetch a list of all workspaces and store them in an xml variable
$x = [xml](tf workspaces /computer:* /owner:* /format:xml)
# determine who we want to delete (this is used in our filter later; to delete all, just skip the filter
$userToDelete = 'Someone@example.com'
# for each workspace
# take those where the owner's display name matches our target user
# then delete that workspace (I've left prompts enabled, so you can manually validate things; add /noprompt to avoid that
$x.Workspaces.Workspace | ?{$_.ownerdisp -eq $userToDelete} | %{tf vc workspace /delete "$($_.name);$($_.owner)"}
有关中可用选项的更多信息;因此,您可以根据自己的具体要求调整上述内容。如果不启动VS并重新运行第一个命令,则删除的工作区是否存在?在VS UI中,您能否成功地完全删除工作区?根据您的命令行,您是否尝试删除Azure DevOps服务而不是TFS工作区?@shaykibaramczyk是,在我再次启动VS之前,工作区显示为已删除。@PatrickLu MSFT我相信我使用的命令会删除工作区。运行delete命令后,确实会将工作区从列表中删除。@DreamTeK过去在VS2019中工作得很好吗?您有最新版本的VS2019吗?谢谢Patrick。这确实提供了一些见解。我用唯一的id删除了它,它再次被删除,但是重新启动VS会恢复它。我还尝试使用vs中的ui删除工作区,但只要我单击
map&get
创建一个新工作区,旧工作区就会立即恢复。在delete命令中包含collection后,我得到了error该系列不存在
你能从你的智慧中提供进一步的见解吗?@DreamTeK你在使用什么细节命令?您是否能够通过tf workspace/computer://owner://format:xml
查看此特定工作区?如果可以,请尝试在不使用集合url的情况下删除它,只需使用上面建议的GUID和格式tf workspace/delete ws_3_3;fb46f066-9122-4342-94c4-93b7526a3545
此外,你可以看看这个类似的链接,我一直在寻找伙伴,但无法让它与2019一起工作。我会试试看是否能修好。干杯。再次感谢您的跟进和一个重要提示。我并没有一个确切的问题的解决方案,但你回答了最初的问题,所以我将把它标记为已解决。工作区的所有者不再是组织的一部分,这可能是根本原因,但我认为管理员仍然有适当的权限删除它们。