25

我有几个使用 SQL CE 4.0 和实体框架的 MVC 项目。自从迁移到 Visual Studio 2012 后,我不断收到以下错误(不是每次,但经常出现)

检测到 LoaderLock

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

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

编辑

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

异常助理

4

2 回答 2

14

关掉这个。因为它警告应用程序可能挂起,如果您的程序没有挂起,那么您可能没问题。

这个问题可以通过关闭 MDA 以同样的方式解决:

调试 -> 异常 -> 托管调试助手

并取消选中 LoaderLock 项。

于 2013-12-20T13:18:23.890 回答
4

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

  • 对于.NET 3.5,我只是取消选中Thrown optionExceptions menu加载程序锁定错误
  • 对于我添加的.NET 4.0<startup useLegacyV2RuntimeActivationPolicy="true">app.config
于 2014-05-14T18:53:28.587 回答