猿问

以什么顺序搜索位置以加载引用的DLL?

我知道.NET框架会在多个位置查找引用的DLL。

  • 全局程序集缓存(GAC)

  • 添加到AppDomain的所有私有路径

  • 执行程序集的当前目录

这些位置是按什么顺序搜索的?如果找到匹配项,是否停止了对DLL的搜索,或者它在所有位置都继续进行(如果是,则如何解决冲突)?

另外,请确认或拒绝这些位置,并提供我没有提及的其他任何位置。


慕运维8079593
浏览 724回答 3
3回答

达令说

我发现了一篇文章引用的MSDN文章DLL搜索顺序,说对于托管代码依赖性,始终优先使用Global Assembly Cache。如果GAC中存在现有(或更新的策略)副本,则不会提取应用程序目录中的本地程序集。考虑到这一点,我猜想MSDN列表是正确的,另外还有一个0.全局程序集缓存
随时随地看视频慕课网APP
我要回答