Visual studio 2012 从2010年升级后,TFS 2012 update 4的“TF14045:标识不是可识别的标识”
我们最近从TFS 2005迁移到TFS 2010,再迁移到TFS 2012更新4 TFS 2005到TFS 2010是通过升级过程完成的。TFS 2010至TFS 2012是通过从TFS2010框中分离并在TFS 2012框上重新连接的方法完成的 我们的一个用户出现以下错误 “TF14045:该标识不是可识别的标识” 问题似乎与他的机器名和工作区有关Visual studio 2012 从2010年升级后,TFS 2012 update 4的“TF14045:标识不是可识别的标识”,visual-studio-2012,version-control,tfs,Visual Studio 2012,Version Control,Tfs,我们最近从TFS 2005迁移到TFS 2010,再迁移到TFS 2012更新4 TFS 2005到TFS 2010是通过升级过程完成的。TFS 2010至TFS 2012是通过从TFS2010框中分离并在TFS 2012框上重新连接的方法完成的 我们的一个用户出现以下错误 “TF14045:该标识不是可识别的标识” 问题似乎与他的机器名和工作区有关 当我尝试使用Team Foundation SIDKEKES 2012通过计算机名称搜索TFS工作区时,我得到相同的错误。 如果这个人在不同的电脑
当我尝试使用Team Foundation SIDKEKES 2012通过计算机名称搜索TFS工作区时,我得到相同的错误。
如果这个人在不同的电脑上工作,他没有任何问题 这是我试过的一些东西 我试着删除他的个人资料,但没有成功。 尝试安装vs2013以查看它是否是Visual studio 2010问题,但没有成功 重新安装了电脑,但名称相同,我仍然收到错误。 尝试更改电脑名,将其移出域,重新连接到域,但未成功我没有尝试再次重建机器,但使用不同的名称来查看会发生什么。在我重做那项漫长的任务之前,我只想看看有没有人有什么建议。最后,我用一个全新的名字重新组装了这台电脑。在此之后,用户登录时不再出现问题 当我在Team Foundation SIDKEKS中用机器名搜索TFS时,仍然会出错,但我认为这是一个失败的原因。 ** 更新-两年后,我决定去清理TFS中的旧工作区。 我注意到,在尝试查看特定集合上的所有工作区时,仍然存在报告的问题 tf工作区/所有者:*/计算机:*/集合: 我打开了微软的事故记录单 经过一点故障排除后,答案是从收集表中清除坏的-tbl_vIdentityMap 清除第一个条目后,我将重试tf workspace命令,并弹出一个新的guid错误 我最终从该表中清除了25个条目,然后tf工作区的问题就消失了
在错误消息中弹出的guid等于许多集合表中的TeamFoundationServerId。我已经完成了OK:我重命名/删除了连接TFS_Database.dbo.tbl_Workspace中的错误的工作区。我使用了一个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)"}
有关中可用选项的更多信息;因此,您可以根据自己的具体要求调整上述内容
谢谢你给我展示了XML输出技巧。
在我们的场景中,我们处于一个TFS到Azure DeVoP服务器迁移的中间。 在连接到新的Azure DevOps实例后,将Visual Studio 2019连接回TFS repos时收到相同的错误 通过源代码管理资源管理器手动删除工作区成功了