具体使用托管兼容模式的功能是什么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具体使用托管兼容模式的功能是什么相关的知识,希望对你有一定的参考价值。

因此,我一直在努力将视觉工作室调试器超时用于大型实体框架查询一段时间。基本上有时当踩过实体框架linq查询时,它会给我这个错误。

评估函数'System.Data.Entity.Infrastructure.DbQuery.ToString'超时并需要以不安全的方式中止。这可能已损坏目标进程。

如果问题经常发生,请考虑禁用工具 - >选项设置“调试 - >常规 - >启用属性评估和其他隐式函数调用”或更改代码以禁用此方法的评估。有关执行此操作的信息,请参阅帮助

一旦我有错误,我需要重新启动调试器来修复它。经过一番研究和拔毛之后,我遇到了一个启用“使用托管兼容模式”的建议。令人惊讶的是这很有效,我也注意到我可以逐步完成代码的速度显着提高。

文档说这是一个传统的调试器,启用它可能会禁用某些调试功能。

那么功能差异究竟是什么呢?为什么使用“托管兼容模式”会如此提高步进速度呢?

答案

据我所知,这是VS2013的一个新选项

https://blogs.msdn.microsoft.com/visualstudioalm/2013/10/16/switching-to-managed-compatibility-mode-in-visual-studio-2013/

在旧的VS版本中,C#和VB项目没有办法关闭托管调试。

选项“托管兼容模式”用于管理和混合调试,但不用于仅本机调试。

您可以从Hans Passant的建议中获取更详细的信息:

`Use managed compatibility mode` or `Enable native code debugging`?

以上是关于具体使用托管兼容模式的功能是什么的主要内容,如果未能解决你的问题,请参考以下文章

WCF 托管在 Web 应用程序和兼容模式中

Django兼容的网络托管服务[关闭]

什么是非托管资源?

iis托管管道模式-学习

同时使用托管数组和 std:array 不兼容

IIS7.5应用程序池集成模式和经典模式的区别