最近启动 Visual Studio 2010 时我收到以下警告消息:
“无法在动态链接库 ADVAPI32.dll 中找到程序输入点 EventUnregister”
我不记得最近安装了哪些程序会导致此问题。我想找到它并消除警告。谢谢。
答案1
我敢打赌你安装了 VS 2010 诊断工具,它(显然)在 XP 下不起作用,并且似乎替换/损坏了 ADVAPI32.dll。
请参阅此处的‘评论’标签:http://visualstudiogallery.msdn.microsoft.com/e8649e35-26b1-4e73-b427-c2886a0705f4/
以下是其中一条评论:
我在读到它无法在 XP 上使用之前就安装了它。卸载后,我仍然收到入口点错误,并且仍然无法调试我的 (C++) 项目,因为在调试会话开始时出现 NtClose 错误。我只能通过重置系统还原点来摆脱它。
因此,您可能需要弄清楚该工具是否/何时安装(添加/删除程序应该告诉您)并回滚到安装之前的还原点。
答案2
我可以通过删除以下文件来解决这个问题:C:\WINDOWS\system32\Microsoft.Internal.Performance.CodeMarkers.dll
据称它是在 VS 2010 中加载的,它使用了 advapi32.dll 中的 EventUnregister 方法,而 Vista 之前的版本中并不存在该方法。
我不能说这样做没有副作用,但到目前为止它是有效的。
在这里找到了解决方案: 评论 - Visual Studio 2010 诊断工具