使用Visual Studio 2012“检测到LoaderLock”

时间:2012-10-15 16:44:31

标签: visual-studio-2012

我有几个使用SQL CE 4.0和Entity Framework的MVC项目。自从迁移到Visual Studio 2012后,我不断收到以下错误(不是每次都会,但经常发生)

检测到LoaderLock

在OS Loader锁中尝试托管执行。不要尝试在DllMain或图像初始化函数中运行托管代码,因为这样做会导致应用程序挂起。

如果我回到使用VS 2010,则不会发生错误,这让我相当肯定这是Visual Studio的问题,而不是我的代码,但我希望有人为我确认一下!

修改

当调用dbcontext的Dispose()方法时,似乎总会出现问题。以下是异常助手的屏幕截图:

Exception Assistant

2 个答案:

答案 0 :(得分:13)

switch this off。因为它警告应用程序可以挂起,如果你的程序没有挂起,那么你可能没事。

  

通过关闭,问题可以通过相同的方式解决   MDA:

     

调试 - >例外 - >托管调试助手

     

并取消选中LoaderLock项目。

答案 1 :(得分:4)

当我在C#应用程序中使用某个外部dll时,我也遇到了LoaderLock的问题。

  • 对于 .NET 3.5 我只需取消选中Thrown option Exceptions menu中的<startup useLegacyV2RuntimeActivationPolicy="true">
  • .NET 4.0 我在app.config
  • 中添加了{{1}}