AssemblyLoadContext.LoadFromAssemblyName(AssemblyName) 方法

定义

根据 AssemblyName 解析并加载程序集。

C#
public System.Reflection.Assembly LoadFromAssemblyName (System.Reflection.AssemblyName assemblyName);

参数

assemblyName
AssemblyName

描述要加载的程序集的对象。

返回

已加载程序集或引发事件。

例外

assemblyNamenull

assemblyName 未找到。

assemblyName 不是有效的程序集。

加载了与 assemblyName 不匹配的程序集或模块。

注解

LoadFromAssemblyName 通过解析 AssemblyName加载程序集。 这会触发完整解析。 解析回退序列遵循此过程:

  1. 方法调用 Load(AssemblyName)

    重要

    Load(AssemblyName) 不得调用此方法以防止递归堆栈溢出。

  2. 除非加载程序集或引发异常,否则 方法将尝试在默认 AssemblyLoadContext中加载程序集。

  3. 除非加载程序集或引发异常,否则 方法将 Resolving 触发 事件。

  4. 除非加载程序集或引发异常,否则 方法将 AssemblyResolve 触发 事件。

备注

FileLoadException 如果 assemblyRef 指定完整的程序集名称,并且与简单名称匹配的第一个程序集具有不兼容的版本或区域性,则引发 。 加载程序不会继续探测与简单名称匹配的其他程序集。

每个 AssemblyLoadContext 只能加载:

  • 可执行程序集的一个版本。
  • 每个区域性的一个附属程序集版本。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9

另请参阅