C# 正试图在 os 加载程序锁内执行托管代码

Loaderlock检测在一个拥有操作系统loader lock的线程上(如上例的video的运行线程)运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用。虽然这样做很有必要,但在进行开发调试的时候,实在太麻烦。解决方案如下: 1.改注册表 在HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFramework下面增加一个String,值为"0" 不过这样做,在该计算机上所有基于.NET2.0开发都得不到MDA的好处。 2.为项目增加一个配置文件. 3.直接修改项目设置最简单的方法,在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中勾掉"LoaderLock")

posted @ 2012-04-06 13:04  Aamboo  阅读(2269)  评论(0编辑  收藏  举报