尝试在关闭一个被调试的程序时出现如下错误:
检测到LoaderLock
DLL“C:\WINDOWS\assembly\GAC\...\..\...dll”正试图在 OS 加载程序锁内执行托管代码。不要尝试在DllMain 或映像初始化函数
内运行托管代码,这样做会导致应用程序挂起。
最简单的方法,在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中掉"LoaderLock"
说明:
.NET2.0中增加了42种非常强大的调试助手(MDA) ,Loaderlock是其中之一。Loaderlock检测在一个拥有操作系统loader lock
的线程上运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用。虽然这样做很有必要,
但在进行开发调试的时候, 实在太麻烦. 当然修改注册表也是解决办法之一, 不过这样做, 在这样所有基于.NET2.0开发等于禁用了MDA
的优点。
转载于:
“检测到LoaderLock”的解决办法: http://hi.baidu.com/liuzumou/item/1218c4df133c26dd241f4058