惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
WordPress大学
WordPress大学
Help Net Security
Help Net Security
Jina AI
Jina AI
Security Latest
Security Latest
Y
Y Combinator Blog
Project Zero
Project Zero
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
Know Your Adversary
Know Your Adversary
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
NISL@THU
NISL@THU
Cisco Talos Blog
Cisco Talos Blog
博客园 - 司徒正美
MyScale Blog
MyScale Blog
Cyberwarzone
Cyberwarzone
D
Docker
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
C
CERT Recently Published Vulnerability Notes
B
Blog
L
LangChain Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
SecWiki News
SecWiki News
The Hacker News
The Hacker News
C
Check Point Blog
L
Lohrmann on Cybersecurity
V2EX - 技术
V2EX - 技术
S
Securelist
T
Threat Research - Cisco Blogs
Stack Overflow Blog
Stack Overflow Blog
TaoSecurity Blog
TaoSecurity Blog
云风的 BLOG
云风的 BLOG
Latest news
Latest news
人人都是产品经理
人人都是产品经理
L
LINUX DO - 最新话题
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The Register - Security
The Register - Security
Webroot Blog
Webroot Blog
Simon Willison's Weblog
Simon Willison's Weblog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
AWS News Blog
AWS News Blog
C
Cybersecurity and Infrastructure Security Agency CISA
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
小众软件
小众软件
T
Tailwind CSS Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
宝玉的分享
宝玉的分享
O
OpenAI News

博客园 - Cloudage

测试:单、多帧自动拼块地图及视口卷动 测试了测试了,silverlight做游戏的可能性 IMH 这次的卡渲还算过得去 严重警告!关于D3D的渲染表面 今天开始研究Tiny 小改一下 这是一个关键……可是这个门槛我上不去了 恭贺本人加入KidFansChannel特别创作组 序列化 用Sprite做Billboard 漏图 玩家通过自主绘制法术阵来自定义法术的初步实现的思考 优化……优化…… Billboard的旋转以及让物体面向一个点的一种方法 卡通渲染原理 游戏系统的结构是怎样的? 同层物体间的遮挡处理
“应用程序LoaderLock”异常的引发和解决
Cloudage · 2006-08-22 · via 博客园 - Cloudage

在进行.NET下EXE+DLL的开发时,如果DLL项目引用的一些程序集没有被EXE项目引用,则程序有可能在启动时引发这个异常。如:

DLL项目引用了Microsoft.DirextX.Direct3D,并且公开了一个Microsoft.DirectX.Direct3D.Device Proc(System.Drawing.Forms.Form)函数,而EXE项目并没有引用Microsoft.DirectX.Direct3D程序集,却在Form1.Shown事件的响应函数中调用了Proc,那么窗体显示后就一定会引发LoaderLock异常。另外即使Proc不返回Device,即EXE并不直接获取Device对象,这个异常同样会发生。

解决方法很简单,一种方法是如果DLL引用了一些特殊的程序集,那么EXE也一定要把它们引用上。还有一种比较离谱的方法,就是将DLL换成后台服务,异线程与EXE交流,并且不要牵扯非公用程序集的数据结构。
其实比较常规的做法是DLL和EXE项目都去引用一个Common项目,该项目中包含两者交流所共用的数据结构。