AssemblyLoadContext.LoadFromAssemblyName(AssemblyName) 方法

定义

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

public:
 System::Reflection::Assembly ^ LoadFromAssemblyName(System::Reflection::AssemblyName ^ assemblyName);
public System.Reflection.Assembly LoadFromAssemblyName (System.Reflection.AssemblyName assemblyName);
member this.LoadFromAssemblyName : System.Reflection.AssemblyName -> System.Reflection.Assembly
Public Function LoadFromAssemblyName (assemblyName As AssemblyName) As Assembly

参数

assemblyName
AssemblyName

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

返回

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

例外

assemblyNamenull

assemblyName 未找到。

assemblyName 不是有效的程序集。

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

注解

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

  1. 方法调用 Load(AssemblyName)

    重要

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

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

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

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

注意

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

每个 AssemblyLoadContext 只能加载:

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

适用于

另请参阅