C# Visual Studio Community 2015调试器在条件断点处以“结束”;不支持对本机方法进行求值";-我怎么修理?

C# Visual Studio Community 2015调试器在条件断点处以“结束”;不支持对本机方法进行求值";-我怎么修理?,c#,asp.net-mvc,debugging,visual-studio-2015,breakpoints,C#,Asp.net Mvc,Debugging,Visual Studio 2015,Breakpoints,我有一个条件断点,条件检查字符串的值,如果为真,则停止。它停了下来,然后打开一个窗口,上面写着: 断点的条件无法执行。。。返回的错误是“对方法System.Collections.Specialized.NameValueCollection.get_Item()调用到本机方法的求值”System.Globalization.TextInfo.Internal.GetCaseInsHash()。不支持在此上下文中计算本机方法。“。单击“确定”在此断点处停止。 我搜索了答案,但他们说启用托管兼容性

我有一个条件断点,条件检查字符串的值,如果为真,则停止。它停了下来,然后打开一个窗口,上面写着:

断点的条件无法执行。。。返回的错误是“对方法System.Collections.Specialized.NameValueCollection.get_Item()调用到本机方法的求值”System.Globalization.TextInfo.Internal.GetCaseInsHash()。不支持在此上下文中计算本机方法。“。单击“确定”在此断点处停止。


我搜索了答案,但他们说启用托管兼容性模式,但这不起作用。

在项目调试设置下选中“启用Visual Studio宿主进程”为我解决了这个问题。

您可能还可以手动将断点添加到代码中,如下所示

if (conditionThatMeansStop) 
{
    System.Diagnostics.Debugger.Break();
}
我就是这样到处走动的

Evaluation of method System.String.op_Equality calls into the native method System.Environment.FailFast()

。。。在类似的情况下,我试图设置检查字符串值的条件端点。

是否有其他VS环境来测试它?以前也有过类似的问题:如果可能,您可以使用一个驱动器共享一个简单的示例,我将帮助您使用不同的VS版本调试它,至少,我们可以知道它是否与VS版本相关,或者它确实有限制。如果您可以分享,请告诉我您在哪里以及如何设置条件断点。@JackZhai MSFT是的,我刚刚在Visual Studio Community 2017中尝试过。完全相同的结果。您链接的答案没有帮助。项目>属性>调试>取消选中选项启用本机代码调试,结果如何?此外,启用托管兼容性模式后是否重新启动应用程序?没有样本对我们来说很难解决这个问题,如果可能的话,使用一个驱动器共享一个简单的样本会更好。不起作用,我最终放弃并重新发布,并使用了一个新的条件,该条件没有调用调试器不喜欢的任何方法。这对我起作用:@timelmer它真的是这样命名的吗?我在任何地方都找不到这个选项(VS15.7.5),我不确定。我再也看不到它了,但我可能找错地方了。请确保您在“项目属性调试”选项卡中查找,而不是在“Visual Studio调试选项”中查找。@timelmer右键单击项目名称。选择属性。选择调试。在脚本的底部,您将找到启用本机代码调试。