无法创建 TFS 工作项,拒绝访问不存在的注册表项 [英] Cant create TFS Work Items, Denied Access to registry key that doesn't exist

查看:17
本文介绍了无法创建 TFS 工作项,拒绝访问不存在的注册表项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

<块引用>

拒绝访问注册表项HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio15.0_8708a912WorkItemTrackingTeamMenuAddWorkItemMruTFSServer01XYZProjectCollection64c06df7-220f-433c-b7d6-6a59426340e1".

当我尝试创建工作项时,我收到一个带有相同错误的 msgbox.

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

我看到了这个相关的

因此,它被拒绝访问注册表项 HKEY_Current_User 具有误导性.但是这个 REGISTRYA 是什么,它在哪里?当我使用 ProcessMonitor JumpTo 时,它无法在注册表中找到该位置,并最终出现在 ComputerHKEY_CLASSES_ROOTSoftwareMicrosoftWindows

有谁知道我怎样才能授予自己访问此 REGISTRYA 的权限?

注意:我是 TFS 管理员,也是这台 PC 的管理员.我已经阅读 关于 REGISTRYA 和 Application Hives 我只是不知道如何让自己访问.此外,当导入到 TFS 时,GitHub 存储库是空的,如果这有影响的话.这是在 VPC 中的 Azure 服务器上本地安装 TFS2017.

解决方案

编辑应用程序 Hive.参考:访问 Visual Studio 2017 的私有注册表配置单元

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

C:Users<用户名>AppDataLocalMicrosoftVisualStudio15.0_05fc10d7privateregistry.bin

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

  1. 启动 RegEdit.exe
  2. 在左侧窗格中选择 ComputerHKEY_LOCAL_MACHINE 节点
  3. 选择文件 |加载 Hive... 菜单项,并加载 privateregistry.user.bin
  4. 当提示输入键名时,只需输入类似VSRegHive"的内容
  5. 这会将数据加载到 HKLM 节点下的 VSRegHive 中
  6. 解决问题创建缺少的密钥或编辑现有密钥

  7. 完成后选择 VSRegHive 并选择文件 |在退出 RegEdit.exe 实用程序之前卸载 Hive...,否则VS 将无法启动.保持在 regedit 中加载配置单元会创建一些一种阻止 DevEnv.exe 启动的锁.

I created a GIT repository on GitHub, then created a TFS Project with Git scm and Agile process template, then I chose Import Repository and specified the GitHub URL.

After the TFS Project was created I see an error message in Team Explorer:

Access to the registry key 'HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio15.0_8708a912WorkItemTrackingTeamMenuAddWorkItemMruTFSServer01XYZProjectCollection64c06df7-220f-433c-b7d6-6a59426340e1' is denied.

I get a msgbox with the same error when I try to create work items.

The symptom of the problem is not the root cause; the registry key doesn't even exist so i cant give permission to it:

I saw this related QA but clearing TFS and VS cache dont help.

I ran a ProcessMonitor trace while reproducing the problem and I see the ACCESS DENIED but it points to another REGISTRY A??

So its misleading that it was Denied Access to the Registry Key HKEY_Current_User. But what is this REGISTRYA and where is it located? When I use ProcessMonitor JumpTo it cant find the location in the registry and ends up at ComputerHKEY_CLASSES_ROOTSoftwareMicrosoftWindows

Does anyone know how I can give myself permission to this REGISTRYA?

Note: I am the TFS Admin and an admin of this PC. I've read up on REGISTRYA and Application Hives I just dont know how to give myself access. Also, the GitHub repository was empty when imported to TFS, if that makes a difference. This is an on-premise install of TFS2017 on an Azure server in a VPC.

解决方案

To edit a Application Hive. Ref: Access Visual Studio 2017's private registry hive

This key appears to be stored in VS application hive file:

C:Users<user name>AppDataLocalMicrosoftVisualStudio15.0_05fc10d7privateregistry.bin

Start regedit as admin, load the hive file (privateregistry.user.bin) into regedit :

  1. Launch RegEdit.exe
  2. Select the ComputerHKEY_LOCAL_MACHINE node in the left-hand pane
  3. Select the File | Load Hive... menu item, and load the privateregistry.user.bin
  4. When prompted for a key name, just type in something like "VSRegHive"
  5. This will load the data into a VSRegHive under the HKLM node
  6. To fix the problem either create the missing keys or edit existing ones

  7. When finished select the VSRegHive and select File | Unload Hive... , before exiting the RegEdit.exe utility, otherwise VS will fail to start. Keeping the hive loaded in regedit creates some sort of lock that prevents DevEnv.exe from launching.

这篇关于无法创建 TFS 工作项,拒绝访问不存在的注册表项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆