无法创建 TFS 工作项,拒绝访问不存在的注册表项

Cant create TFS Work Items, Denied Access to registry key that doesn't exist

我在 GitHub 上创建了一个 GIT 存储库,然后使用 Git scm 和敏捷过程模板创建了一个 TFS 项目,然后我选择了 Import Repository 并指定 Git 集线器 URL.

创建 TFS 项目后,我在团队资源管理器中看到一条错误消息:

Access to the registry key 'HKEY_CURRENT_USER\Software\Microsoft\VisualStudio.0_8708a912\WorkItemTracking\TeamMenu\AddWorkItemMru\TFSServer01\XYZProjectCollectionc06df7-220f-433c-b7d6-6a59426340e1' is denied.

当我尝试创建工作项时,我收到一个包含相同错误的消息框。

问题的症状不是根本原因;注册表项甚至不存在 所以我不能授予它权限

我看到了这个相关的 但清除 TFS 和 VS 缓存没有帮助。

我在重现问题时 运行 ProcessMonitor 跟踪,我看到 ACCESS DENIED 但它指向另一个 REGISTRY A??

因此误导说它被拒绝访问注册表项 HKEY_Current_User。但是这个 REGISTRY\A 是什么,它位于哪里?当我使用 ProcessMonitor JumpTo 时,它无法在注册表中找到位置并最终位于 Computer\HKEY_CLASSES_ROOT\Software\Microsoft\Windows

有谁知道我如何才能允许自己这样做 REGISTRY\A?

注意:我是 TFS 管理员,也是这台电脑的管理员。我在 REGISTRY\A 和 Application Hives 上有 read up 我只是不知道如何给自己访问权限。此外,GitHub 存储库在导入到 TFS 时为空,如果这有影响的话。这是 TFS2017 在 VPC 中的 Azure 服务器上的本地安装。

编辑应用程序配置单元。参考:Access Visual Studio 2017's private registry hive

此密钥似乎存储在 VS 应用程序配置单元文件中:

C:\Users\<user name>\AppData\Local\Microsoft\VisualStudio.0_05fc10d7\privateregistry.bin

以管理员身份启动regedit,将配置单元文件(privateregistry.user.bin)加载到regedit中:

  1. 启动RegEdit.exe
  2. Select 左侧窗格中的 Computer\HKEY_LOCAL_MACHINE 节点
  3. Select 文件 | Load Hive... 菜单项,并加载 privateregistry.user.bin
  4. 当系统提示输入密钥名称时,只需输入类似 "VSRegHive"
  5. 的内容
  6. 这会将数据加载到 HKLM 节点下的 VSRegHive 中
  7. 解决问题要么创建丢失的密钥,要么编辑现有的密钥

  8. 完成后 select VSRegHive 和 select 文件 |卸载 Hive...,在退出 RegEdit.exe 实用程序之前,否则 VS 将无法启动。在 regedit 中保持 hive 加载会创建一些 某种阻止 DevEnv.exe 启动的锁。