What is “DLL Hell”?
dependency hell
Why it occurs?
Sharing code in a wrong way
incorrect registration: all applications share one registration entry
incorrect memory sharing: only one instance loaded considering nothing about versions
How it is solved?
versioning
reference:
http://en.wikipedia.org/wiki/DLL_hell (explain DLL hell at a high level)
http://msdn.microsoft.com/en-us/library/ms973843.aspx(with detail tips - Simplifying Deployment and Solving DLL Hell with the .NET Framework)
what is “strong name” in .NET?
A strong name is a .NET assembly name combined with its version number and other information to uniquely identify the assembly. This allows multiple versions of the same assembly to peacefully co-exist in the global assembly cache, where shared assemblies are typically stored.
Another reason to use strong names is to make it difficult for hackers to spoof your assembly, in other words, replace or inject your assembly with a virus or malicious code.
http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/(about strong name)

本文深入解析了DLL地狱的概念及其产生的原因,包括错误的代码共享方式、注册错误和内存共享不当。同时介绍了强名称在.NET中如何通过版本管理、防止恶意代码注入等手段解决这一问题。
3514

被折叠的 条评论
为什么被折叠?



