当.NET需要加载程序集时,它用于搜索程序集的文件夹层次结构是什么?我假设它从GAC开始,然后是执行程序集的本地文件夹?什么是完整的层次结构?我知道Windows搜索路径(对于非托管代码)类似于本地文件夹/ System32文件夹/搜索路径/等。我正在为.NET寻找类似的东西。
答案 0 :(得分:4)
如果您正在寻找流程的描述而不是指向冗长的MSDN文章的链接,那么这是步骤的简要摘要。您可以找到更多详细信息here。
运行时的步骤以解析程序集引用:
按照以下步骤进行装配探测:
a)如果配置和发布者策略不影响原始引用,并且使用Assembly.LoadFrom方法创建绑定请求,则运行时将检查位置提示。
b)如果在配置文件中找到 codebase ,则运行时仅检查此位置。
c)使用探测部分中描述的启发式探测装配。如果在探测后未找到程序集,则运行时会请求Windows Installer提供程序集。这可用作按需安装功能。
答案 1 :(得分:1)
以下是MSDN的一些文章:
答案 2 :(得分:0)
请看这篇文章How the runtime locates assemblies。
它实际上不是一个线性路径,它取决于很多(已经加载了程序集,配置文件......)但文章很清楚。