最近在写C#相关的程序,调试程序的时候遇到的这个问题,所以转载过来,也方便自己以后使用。
出错信息为:
检测到LoaderLock,正试图在OS加载程序锁内执行托管代码,不要尝试在DllMain或映像初始化函数内运行托管代码,这样会导致应用程序挂起。
解决办法:
在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中勾掉"LoaderLock"
说明:
.NET2.0中增加了42种非常强大的调试助手(MDA),Loaderlock是其中之一。Loaderlock检测在一个拥有操作系统loader lock的线程上运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用。虽然这样做很有必要,但在进行开发调试的时候,实在太麻烦。
注意:不是工程属性里的debug,而是菜单栏的debug
转载自http://www.cnblogs.com/jetz/archive/2011/01/02/1924040.html