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

解决方法

调用托管“entrypoint”: 托管代码可能未运行在加载程序锁下,包括 DLL 入口点和从 DLL 入口点访问到的调用

编译器找到编译为 MSIL 的(可能)DLL 入口点。 由于加载入口点已编译为 MSIL 的 DLL 时存在一些潜在问题,因此强烈建议不要将 DLL 入口点函数编译为 MSIL。

有关更多信息,请参见 混合程序集的初始化 和 链接器工具错误 LNK1306。

更正此错误

  1. 不要使用 /clr 编译该模块。
  2. 使用 #pragma unmanaged 标记入口点函数。

dllmain

DllMain 函数是 DLL 的用户定义入口点。 除非用户另外指定,否则,每当进程或线程附加到包含 DLL 或从包含 DLL 中分离时,都调用 DllMain。 由于这种调用可以在加载程序锁被保留时发生,因此不应将用户提供的 DllMain 函数编译为 MSIL。 另外,以 DllMain 为根的调用树中的函数不能编译为 MSIL。 若要在此处解决问题,则应使用 #pragma unmanaged 来修改定义 DllMain 的代码块。 对于由 DllMain 调用的每个函数,应执行同样的操作。

如果这些函数必须调用的某个函数需要一个用于其他调用上下文的 MSIL 实现,可以使用一个会创建同一函数的 .NET 版本和本机版本的复制策略。

或者,如果不需要 DllMain,或者不需要在有加载程序锁时执行它,则可以删除用户提供的 DllMain 实现,这便可以消除此问题。

如果 DllMain 尝试直接执行 MSIL,则会导致 编译器警告(等级 1)C4747。 但是,编译器无法检测到这样的情况:即 DllMain 调用另一个模块中的一个函数,该函数再尝试执行 MSIL。

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

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

    当我在窗体初始化的时候,调用了一个外部的dill时,它就不知什么原因的 抛出一个"正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码&quo ...

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

    在窗体初始化的时候,调用了一个外部的dll,不知什么原因的 抛出一个"正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码"的异常, ...

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

    这些天重装了电脑Win10系统,安装了CAD2012和VS2012,准备进行软件开发.在调试程序的时候,CAD没有进入界面就抛出 "正试图在 os 加载程序锁内执行托管代码.不要尝试在 Dl ...

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

    出错提示: 正尝试在 OS 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起. 原因分析: .NET2.0中增加了42种非常强大的调试助手 ...

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

    http://blog.csdn.net/skd12/article/details/46786117 当我在窗体初始化的时候,调用了一个外部的dill时,它就不知什么原因的 抛出一个"正试 ...

  6. 托管调试助手“LoaderLock”在XXX中检测到故障。其他信息:正尝试在OS加载程序锁内执行托管代码。不要尝试在DllMain或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

    在程序中执行new一个对象A时,出现了错误信息: 托管调试助手"LoaderLock"在XXX中检测到故障.其他信息:正尝试在OS加载程序锁内执行托管代码.不要尝试在DllMain ...

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

    当我在窗体初始化的时候,调用了一个外部的dll时,它就不知什么原因的 抛出一个"正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码" ...

  8. 【错误异常大全】:正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

    文章目录 错误异常: 解决方案一: 解决方案二: 错误异常: 正尝试在 OS 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起. 解决方案 ...

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

    出错提示: 正尝试在 OS 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起. 解决方案: 调试 -- 异常 选择Managed Debu ...

最新文章

  1. 什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么?
  2. Hi3516A开发--目录分析
  3. .NET 5 开源工作流框架elsa技术研究
  4. 前端学习(2962):前一天回顾
  5. 【转】Windows服务调试技巧
  6. popen 如何获取指令执行情况_Linux下使用popen()执行shell命令
  7. ros创建工作空间_ROS 初级 - 安装和配置 ROS 环境
  8. Django 框架 新建app 、新建表
  9. 谷歌公布4个0day详情,其中3个被滥用于攻击亚美尼亚
  10. linux查看scsi设备id号,scsi_id查询
  11. ppt加音乐计算机一级,PPT2016背景音乐该怎么设置?
  12. 无法删除文件无法读源文件或磁盘的解决办法
  13. ESP32 学习笔记(七)I2S - Inter—IC Sound
  14. Web网站模板-餐厅饭店宣传响应式网站模板(HTML+CSS+JavaScript)
  15. 计算机桌面点击无反应,电脑屏幕点击没反应是怎么回事
  16. 第三方登录之Github登录篇
  17. 马斯克称“很快”将会提高纯视觉Autopilot系统最高限速
  18. 离奇电信诈骗:一夜损失 52000元,毒品、情妇、黑客交织的犯罪网络
  19. ModuleNotFoundError: No module named ‘tensorflow.compat.v2‘解决方法
  20. 20种应该避免的逻辑思维错误(上)

热门文章

  1. 论文阅读:Sketching Image Gist:Human-Mimetic Hierarchical Scene Graph Generation(ECCV20)
  2. 【刷题】2.BM3 链表中的节点每k个一组翻转
  3. c语言程序全排列算法思路,深入全排列算法及其实现方法
  4. Android hibernation 导致的冻屏问题分析
  5. 关于优酷视频代码播放的若干事情……
  6. 封装和解封装、跨层封装
  7. 3dmax导出obj后导入Geomegric卡死
  8. http shield_NVIDIA SHIELD独有的最佳Android游戏
  9. springboot + vue + elementUI项目实战——简洁清新的员工管理系统(一)
  10. Qt富文本 - 文档边框格式