无法创建 TFS 工作项,拒绝访问不存在的注册表项 [英] Cant create TFS Work Items, Denied Access to registry key that doesn't exist
问题描述
我在 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中:
- 启动 RegEdit.exe
- 在左侧窗格中选择 ComputerHKEY_LOCAL_MACHINE 节点
- 选择文件 |加载 Hive... 菜单项,并加载 privateregistry.user.bin
- 当提示输入键名时,只需输入类似VSRegHive"的内容
- 这会将数据加载到 HKLM 节点下的 VSRegHive 中
解决问题创建缺少的密钥或编辑现有密钥
完成后选择 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 :
- Launch RegEdit.exe
- Select the ComputerHKEY_LOCAL_MACHINE node in the left-hand pane
- Select the File | Load Hive... menu item, and load the privateregistry.user.bin
- When prompted for a key name, just type in something like "VSRegHive"
- This will load the data into a VSRegHive under the HKLM node
To fix the problem either create the missing keys or edit existing ones
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屋!