今天打开好久没用的Microsoft Visual Studio 2010 ,刚才创建了一个C++工程,错误就出现了。
只要在VS2010源码编辑器中输入一个字符,它就报错 "Microsoft Visual Studio 2010 遇到了异常,可能是由某个扩展导致的"。刚开始一看,以为是扩展引起的问题,结果禁用了所有的扩展都不行。
错误上说"您可以在命令行上使用/LOG参数运行应用程序,然后检查文件"C:\Users\Administrator\AppData\Roaming\Microsoft\VisualStudio\10.0\ActivityLog.xml”以获取详细信息。"
可是按照这个方法依然不行,用/LOG之后,没有ActivityLog.xml这个文件。
最终看网上资料,才知道是注册表被改了。而且说和2008的MSDN有关,我才记得装了VS2010后,我还安装了MSDN Library for Visual Studio 2008 简体中文版,应该和这个有关。
以下是具体的解决方法:
这个bug是安装某些软件的时候,vs2010相关的注册表值被修改了,只要改回来就好了。
对于32位机器,查找注册表的项:
[HKEY_CLASSES_ROOT/CLSID/{73B7DC00-F498-4ABD-AB79-D07AFD52F395}/InProcServer32],
把它的默认值修改为:C:/Program Files/Common Files/Microsoft Shared/MSEnv/TextMgrP.dll
而对于64位的机器,查找项:
[HKEY_CLASSES_ROOT/Wow6432Node/CLSID/{73B7DC00-F498-4ABD-AB79-D07AFD52F395}/InProcServer32]
把它的默认值修改为:C:/Program Files (x86)/Common Files/Microsoft Shared/MSEnv/TextMgrP.dll