Visual Studio 2015-开始调试应用程序时如何停止EntryPointNotFoundException?

Visual Studio 2015-开始调试应用程序时如何停止EntryPointNotFoundException?,exception,visual-studio-2015,visual-studio-debugging,Exception,Visual Studio 2015,Visual Studio Debugging,我在Windows 7笔记本电脑上运行Visual Studio 2015,每次我在IDE的调试器中启动应用程序时,都会出现以下异常: 在DLL“advapi32.DLL”中找不到名为“EventSetInformation”的入口点 我在中找到了对它的引用,表明这是在Windows8中添加的API。我的情况类似于github问题,我可以单击“继续”忽略异常,我的应用程序运行正常。然而,这真的很烦人,因为我不能不等待这个异常被抛出就开始调试应用程序,这样我就可以手动继续调试 我的问题是,是否有

我在Windows 7笔记本电脑上运行Visual Studio 2015,每次我在IDE的调试器中启动应用程序时,都会出现以下异常:

在DLL“advapi32.DLL”中找不到名为“EventSetInformation”的入口点

我在中找到了对它的引用,表明这是在Windows8中添加的API。我的情况类似于github问题,我可以单击“继续”忽略异常,我的应用程序运行正常。然而,这真的很烦人,因为我不能不等待这个异常被抛出就开始调试应用程序,这样我就可以手动继续调试

我的问题是,是否有人知道我是否可以防止IDE中出现此异常?目前这种情况令人讨厌,但我很想摆脱它

作为参考,在本例中,在VisualStudio中更改异常设置似乎不会更改行为。以下是启用和禁用CLR异常以及异常的屏幕截图:

CLR异常已禁用

已启用CLR异常

解决方案

这是由常规调试器选项导致的,该选项似乎覆盖了任何特定于异常的设置。正如@John在下面的回答中指出的,您可以禁用一个调试器选项来停止此行为。选中此选项后,我将获得所描述的断点,但取消选中它将停止该操作,并提供我要查找的内容:


从您的屏幕截图来看,我猜您已经启用了调试器选项“当异常跨越AppDomains或托管/本机边界时中断”。转到Debugger->Options并取消选中该选项(从顶部算起第三个)

一位同事刚刚遇到了这个问题,他必须选中Tools->Options->Debugger->General中的“仅启用我的代码”框,同时清除“异常跨越应用域或托管/本机边界时中断”复选框。

查看此屏幕截图,我已启用调试器选项“当跨越AppDomains或托管/本机边界时中断”。转到调试器->选项并取消选中该选项。工作正常。

抛出此异常时,不要要求调试器停止。调试>窗口>异常设置。单击“公共语言运行时异常”复选框,直到它变成一个实心矩形。@HansPassant感谢您的建议,但在本例中,更改CLR异常是否应中断不会改变VS的行为。我将用截图更新问题以演示这一点。你能将目标框架更改为4.5.2而不是4.6吗?@Thomas此应用程序的目标框架实际上是4.5.2。我有其他针对4.5的应用程序,也表现出这种行为。我不希望您探究代码,但为了参考,上面的示例是从这个小项目生成的-就是这样!我已经用一个屏幕截图更新了答案,直观地显示了这个设置。谢谢@John。我的道歉@John…我以为我已经接受了这个答案,但昨天意识到我没有接受。谢谢你提交。嗯,我不知道为什么会抛出这个,或者这意味着什么,但它做到了+1