正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码

当我在窗体初始化的时候,调用了一个外部的dll,它就不知什么原因的 抛出一个“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码”的异常,程序就卡掉了,在网上查了查,相关说明如下:

.NET2.0中增加了42种非常强大的调试助手,MDA.Loaderlock 是其中之一。Loaderlock检测在一个拥有操作系统loader lock的线程上运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用。

大致理解:就是窗体还没有完全生成,而你在这个时候就调用了别的dll,可能就抛出了这个异常!

解决此异常的方法为:

方法一

把vs菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock 的选中状态去掉

如果异常(exception)这一项没有的话,在工具---自定义---命令选项卡---左边选择调试--右边把异常托到菜单里

快捷键Ctrl+Alt+E,修改Managed Debuggin Assistants->LoaderLock 的选中状态去掉

方法二

在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下面增加一个String,值为"0"

不过这样做,在该计算机上所有基于.NET2.0开发都得不到MDA的好处。

时间: 2024-10-03 13:52:49

正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码的相关文章

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

正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码... 当我在窗体初始化的时候,调用了一个外部的dill时,它就不知什么原因的 抛出一个"正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码"的异常,程序就卡掉了,在网上查了查,相关说明如下: .NET2.0中增加了42种非常强大的调试助手,MDA.Loaderlock 是其中之一.Loaderlock检测在一个拥有操作系统loader

检测到 LoaderLock:DLL"XXXX"正试图在OS加载程序锁内执行

解决方法: ctrl+D+E或alt+ctl+e或使用菜单调试——>异常——>异常窗口——>Managed Debugging Assistants——>去掉LoaderLock选项. 参考资料: 不辣的peter中国版的博客:Loaderlock was detected 无痕客的博客:ESRI的地图控件和DEV控件存在冲突,造成调试中断无法通过 悟道人生的博客:检测到 LoaderLock Message Microsoft.DirectX.dll”正试图在 OS 加载程序锁内

CAD调试时抛出“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码”异常的解决方法

这些天重装了电脑Win10系统,安装了CAD2012和VS2012,准备进行软件开发.在调试程序的时候,CAD没有进入界面就抛出 “正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码” 查看网上相关文章说是要关掉 异常--Managed Debugging Assistants,但是仍然不可以使用. 前段时间有过将软件数据库放到C盘,变成数据库只读无法写入数据的经历.是不是CAD也只读了,无法写入调试Dll呢? 随后将CAD装到了D盘,果真问题解

正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

当我在窗体初始化的时候,调用了一个外部的dill时,它就不知什么原因的 抛出一个“正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码”的异常,程序就卡掉了,在网上查了查,相关说明如下: .NET2.0中增加了42种非常强大的调试助手,MDA.Loaderlock 是其中之一.Loaderlock检测在一个拥有操作系统loader lock的线程上运行托管代码的情况.这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用. 大致理解

引导加载程序之争: LILO 和 GRUB

在不考虑他们的工作或专业情况下,所有 Linux 用户都会使用的是哪个工具?引导加载程序.通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和 GNU GRUB(GRand Unified Boot loader), 并研究两者各自的优点和缺点. 什么是引导加载程序? 最简单地讲,引导加载程序(boot loader) 会引导操作系统.当机器引导它的操作系统时,BIOS 会读取引导介质上最前面的 512 字节(即人们所知的 主引导记录(maste

JavaScript之:模块加载程序的历史与背景

原文:History and Background of JavaScript Module Loaders 作者:Elias Carlston 翻译:leotso 介绍 Web 应用程序的应用程序逻辑不断从后端移到浏览器端.但是,由于富客户端 JavaScript 应用程序的规模变得更大,它们遇到了类似于多年来传统应用所面临的挑战:共享代码以便重用,同时保持架构的隔离分层,并且足够灵活以便于轻松扩展. 这些挑战的一个解决方案是开发 JavaScript 模块和模块加载系统.这篇文章将着重于比较

GRUB(GRand Unified Boot loader)引导加载程序

http://hi.baidu.com/eao110/blog/item/b56177ec8c89afdc2f2e218f.html 一.GRUB简介 首先搞清楚与 GNU GRUB的关系. GNU GRUB 分为 GNU GRUB Legacy 和 GNU GRUB2 两代 .GNU GRUB Legacy 其实就是原来的 GNU GRUB 0.xx ,最新版是 2005 年发布的 GNU GRUB 0.97 .目前已停止开发,并改名为 GNU GRUB Lagecy .GNU GRUB2 是

引导加载程序之争:了解 LILO 和 GRUB PCV

从普通的桌面用户到 Linux? 系统管理员,大部分 Linux 用户都使用过一种名为引导加载程序的工具.此类工具的不同变种会提供不同层次的支持和功能.在很多情况下,Linux 发行版默认安装的引导加载程序并不总是适合需要:每个引导加载程序的默认设置也是如此.在本文中,Laurence Bonney 讨论了两个流行的引导加载程序 -- LILO 和 GRUB -- 的优点和缺点,并建议了很多配置,以充分发掘机器的潜力. 1评论: Laurence Bonney ([email protected

Win7下安装双系统Centos,并修复Centos引导加载程序安装在U盘上的问题

1.使用U盘安装Centos时,磁盘分区划分要注意:系统(包含Win7)只能4个主分区,所以只能在删除一个主分区或者在扩展分区的空闲分区内建立目录. 2.Centos在安装步骤的最后,引导加载程序的选项只有“安装在U盘”一项,注:不可轻易选择安装在MBR上,会覆盖掉Win7系统的引导加载程序. 所以我们先选择将引导加载程序安装在U盘上,然后再修复. 3.Centos修复grub启动加载程序 参考并转自:http://blog.csdn.net/llhwin2010/article/details