代码之家  ›  专栏  ›  技术社区  ›  Welton v3.62

什么是.NET文件夹搜索层次结构?

  •  4
  • Welton v3.62  · 技术社区  · 15 年前

    当.NET需要加载程序集时,它用来搜索程序集的文件夹层次结构是什么?我假设它从GAC开始,然后是执行程序集的本地文件夹?完整的层次结构是什么?我知道Windows搜索路径(对于非托管代码)类似于本地文件夹/system32文件夹/search path/etc,我在寻找类似于.net的内容。

    3 回复  |  直到 15 年前
        1
  •  4
  •   DOK    15 年前

    如果您在寻找过程的描述,而不是到冗长的msdn文章的链接,这是一个 步骤简述 . 你可以找到更多的细节 here

    执行运行时以下步骤以解析程序集引用:

    1. 通过检查适用的程序集来确定正确的程序集版本 配置文件。
    2. 检查程序集名称是否已绑定到,如果已绑定,则使用 以前加载的程序集
    3. 检查 GAC
    4. 按照以下步骤进行组装探针:

      a)如果配置和发布服务器策略不影响原始引用,并且绑定请求是使用assembly.loadfrom方法创建的,则运行时将检查 位置提示 .

      b)如果a 代码库 在配置文件中找到,运行时仅检查此位置。

      c)使用中描述的启发式方法对组件进行探测。 探测段 . 如果在探测后找不到程序集,则运行时请求Windows Installer提供该程序集。这起到了 按需安装 功能。

        3
  •  0
  •   GvS    15 年前

    看看这篇文章 How the runtime locates assemblies .

    它实际上不是一个线性路径,它依赖于很多(是否已经加载了程序集、配置文件等),但是本文非常清楚。

    推荐文章