Visual studio 2012 Visual Studio正在读取旧的/过时的注册表

Visual studio 2012 Visual Studio正在读取旧的/过时的注册表,visual-studio-2012,registry,Visual Studio 2012,Registry,VisualStudio 2012、VS 2012命令提示符、VS 2010命令提示符和64位VS 2012编译的C++控制台应用程序都读取各种注册表项的过期实例。每个应用程序(如VS 2012、命令提示和编译的应用程序)似乎都有自己的过期注册表版本。下面是我所看到的症状以及我修复它的各种尝试 我已经添加了新的注册表项,并更新了现有注册表项中的数据,所有这些数据都显示在HKLM\Software\中更新。使用RegEdit并在普通控制台窗口中使用“reg query”查看它们 在更新之前,使用V

VisualStudio 2012、VS 2012命令提示符、VS 2010命令提示符和64位VS 2012编译的C++控制台应用程序都读取各种注册表项的过期实例。每个应用程序(如VS 2012、命令提示和编译的应用程序)似乎都有自己的过期注册表版本。下面是我所看到的症状以及我修复它的各种尝试

我已经添加了新的注册表项,并更新了现有注册表项中的数据,所有这些数据都显示在HKLM\Software\中更新。使用RegEdit并在普通控制台窗口中使用“reg query”查看它们

在更新之前,使用VS命令提示符执行相同的查询并获取注册表项。如果打开VS 2012命令提示符并使用命令行参数执行编辑,则该VS 2012命令提示符的注册表现在与VS 2010命令提示符读取的注册表不同。它也不同于VS 2012 IDE和基于VS 2012构建的应用程序。无论从哪个版本的注册表读取数据,它们似乎都有自己的实例

最后,我打开Visual Studio 2012命令提示符并键入Regedit。它打开了RegEdit,正在查看旧的注册表!HKLM\Software\中的所有过时值都存在,这似乎是注册表的一个完全独立的版本。这是从哪里来的

我的环境:Windows 7 Enterprise,VS 2012 Ultimate,内置64位控制台应用程序。 应该注意的是,我没有做任何重大的环境变化,我记得,这是一个新的问题,我以前的工作开发系统。我的同事使用相同的代码库拥有相同/相似的环境和硬件设置,从未遇到或见过此问题

我试过的东西

万能的重启 卸载/重新安装VS Studio 2012,清除我的代码库,刷新并重建我知道的暴力。。。。 检查注册表中的Wow6432Node项以查看读/写是否被重定向我没有HKLM\Software\Wow6432Node,并且该项的任何其他实例都没有旧的过时数据或其他类似数据 在整个注册表中搜索我看到的过时键/值/数据,但在任何地方都找不到 使用“reg FLAGS hklm\software\SET DONT\u VIRTUALIZE DONT\u SILENT\u FAIL RECURSE\u FLAG”关闭虚拟化,以及一次使用一个标志的变体关闭虚拟化。 编写和调试单元测试以尝试和确定任何内容。 VS 2012安全模式 VS 2012日志记录,以查看日志文件是否能够揭示问题。 因为我在工作,所以默默地咒骂 我的工作站尚未对这些尝试作出响应
任何帮助都将不胜感激。我即将在我的工作站上执行干净的Windows安装,但我宁愿节省重新设置的时间和麻烦:

请停止破坏您的机器,它没有任何问题。您需要了解和在64位操作系统上的角色。在superuser.com上询问相关问题谢谢您提供有关文件系统重定向器的提示。我仍然不能完全确定发生了什么,但在进行了一些测试之后,似乎正在为我的Visual Studio命令加载另一个注册表配置单元,该命令同时提示32/64位、Visual Studio和相关的控制台应用程序。考虑到控制台应用程序始终是一个64位进程,我不确定为什么会出现这种新行为,但至少现在我可以编辑另一个注册表配置单元作为解决方法,直到我确定为什么会发生这种情况。