Assembly.Load Método

Definición

Carga un ensamblado.

Sobrecargas

Load(Byte[], Byte[], SecurityContextSource)

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) que contiene un ensamblado emitido, incluyendo opcionalmente los símbolos y especificando el origen del contexto de seguridad.

Load(Byte[], Byte[], Evidence)
Obsoletos.

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) que contiene un ensamblado emitido, incluyendo opcionalmente los símbolos y la evidencia del ensamblado.

Load(String, Evidence)
Obsoletos.

Carga un ensamblado según su nombre para mostrar y utilizando la evidencia proporcionada.

Load(AssemblyName, Evidence)
Obsoletos.

Carga un ensamblado dado su AssemblyName. El ensamblado se carga mediante la evidencia proporcionada.

Load(Byte[])

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) y que contiene un ensamblado emitido.

Load(String)

Carga un ensamblado con el nombre especificado.

Load(AssemblyName)

Carga un ensamblado dado su AssemblyName.

Load(Byte[], Byte[])

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) que contiene un ensamblado emitido, incluyendo opcionalmente los símbolos del ensamblado.

Load(Byte[], Byte[], SecurityContextSource)

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) que contiene un ensamblado emitido, incluyendo opcionalmente los símbolos y especificando el origen del contexto de seguridad.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore, System::Security::SecurityContextSource securityContextSource);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, System.Security.SecurityContextSource securityContextSource);
static member Load : byte[] * byte[] * System.Security.SecurityContextSource -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte(), securityContextSource As SecurityContextSource) As Assembly

Parámetros

rawAssembly
Byte[]

Matriz de bytes que es una imagen basada en COFF que contiene un ensamblado emitido.

rawSymbolStore
Byte[]

Matriz de bytes que contiene los bytes sin formato que representan los símbolos del ensamblado.

securityContextSource
SecurityContextSource

Origen del contexto de seguridad.

Devoluciones

Ensamblado cargado.

Excepciones

rawAssembly es null.

rawAssembly no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

El valor de securityContextSource no es uno de los valores de enumeración.

Comentarios

El ensamblado se carga en el dominio de aplicación del llamador mediante el origen especificado para el contexto de seguridad. Si rawSymbolStore se especificó, también se cargan los bytes sin formato que representan los símbolos del ensamblado.

Se aplica a

Load(Byte[], Byte[], Evidence)

Precaución

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) que contiene un ensamblado emitido, incluyendo opcionalmente los símbolos y la evidencia del ensamblado.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore, System::Security::Policy::Evidence ^ securityEvidence);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence);
static member Load : byte[] * byte[] * System.Security.Policy.Evidence -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : byte[] * byte[] * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte(), securityEvidence As Evidence) As Assembly

Parámetros

rawAssembly
Byte[]

Matriz de bytes que es una imagen basada en COFF que contiene un ensamblado emitido.

rawSymbolStore
Byte[]

Matriz de bytes que contiene los bytes sin formato que representan los símbolos del ensamblado.

securityEvidence
Evidence

Evidencia para cargar el ensamblado.

Devoluciones

Ensamblado cargado.

Atributos

Excepciones

rawAssembly es null.

rawAssembly no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

Se cargó un ensamblado o módulo dos veces con dos evidencias diferentes.

securityEvidence no es null. De forma predeterminada, la directiva CAS heredada no está habilitada en .NET Framework 4; cuando no está habilitado, securityEvidence debe ser null.

Comentarios

Esta sobrecarga de método siempre crea un nuevo Assembly objeto en su propio contexto de carga aislado.

El ensamblado se carga mediante la evidencia proporcionada. También se cargan los bytes sin procesar que representan los símbolos del ensamblado.

La concesión de permisos específicos para un ensamblado se basa en la evidencia. Las reglas para la combinación de evidencias de seguridad y ensamblado son las siguientes:

  • Cuando se usa un Load método sin Evidence parámetro, el ensamblado se carga con la evidencia de que el cargador proporciona.

  • Cuando se usa un método con un LoadEvidence parámetro, se combinan fragmentos de evidencia. Las pruebas proporcionadas como argumento para el Load método sustituyen a las pruebas proporcionadas por el cargador.

  • Cuando se usa una Load sobrecarga de método con un Byte[] parámetro para cargar una imagen COFF, la evidencia se hereda del ensamblado que realiza la llamada.

  • Cuando se usa un Load método con un Byte[] parámetro y Evidence para cargar una imagen COFF, solo se usa la evidencia proporcionada. Se omiten las pruebas del ensamblado que llama y la evidencia de la imagen COFF.

Si llama al Load método más de una vez en el mismo ensamblado, pero con una evidencia diferente especificada, Common Language Runtime no inicia porque FileLoadException no se puede determinar la igualdad y la integridad de las distintas especificaciones de evidencia. La evidencia que primero se realiza correctamente es la evidencia que se usa.

Se aplica a

Load(String, Evidence)

Precaución

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Carga un ensamblado según su nombre para mostrar y utilizando la evidencia proporcionada.

public:
 static System::Reflection::Assembly ^ Load(System::String ^ assemblyString, System::Security::Policy::Evidence ^ assemblySecurity);
public static System.Reflection.Assembly Load (string assemblyString, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load (string assemblyString, System.Security.Policy.Evidence assemblySecurity);
static member Load : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (assemblyString As String, assemblySecurity As Evidence) As Assembly

Parámetros

assemblyString
String

Nombre para mostrar del ensamblado.

assemblySecurity
Evidence

Evidencia para cargar el ensamblado.

Devoluciones

Ensamblado cargado.

Atributos

Excepciones

assemblyString es null.

No se ha encontrado assemblyString.

assemblyString no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

No se pudo cargar un archivo que se encontró.

o bien

Se cargó un ensamblado o módulo dos veces con dos evidencias diferentes.

Comentarios

FileLoadException se produce si assemblyString especifica el nombre completo del ensamblado y el primer ensamblado que coincide con el nombre simple tiene una versión, referencia cultural o token de clave pública diferente. El cargador no continúa sondeando otros ensamblados que coincidan con el nombre simple.

La concesión de permisos específicos para un ensamblado se basa en la evidencia. Las reglas para la combinación de evidencias de seguridad y ensamblado son las siguientes:

  • Cuando se usa un Load método sin Evidence parámetro, el ensamblado se carga con la evidencia de que el cargador proporciona.

  • Cuando se usa un método con un LoadEvidence parámetro, se combinan fragmentos de evidencia. Las pruebas proporcionadas como argumento para el Load método sustituyen a las pruebas proporcionadas por el cargador.

  • Cuando se usa una Load sobrecarga de método con un Byte[] parámetro para cargar una imagen de formato de archivo de objeto común (COFF), la evidencia se hereda del ensamblado que realiza la llamada.

  • Cuando se usa un Load método con un Byte[] parámetro y Evidence para cargar una imagen COFF, solo se usa la evidencia proporcionada. Se omite la evidencia del ensamblado que realiza la llamada y de la evidencia de la imagen COFF.

Si llama a este método más de una vez en el mismo ensamblado pero con una evidencia diferente especificada, Common Language Runtime no inicia porque FileLoadException no se puede determinar la igualdad y la integridad de las distintas especificaciones de evidencia. La evidencia que primero se realiza correctamente es la evidencia que se usa.

En .NET Framework versión 2.0, la arquitectura del procesador se agrega a la identidad del ensamblado y se puede especificar como parte de las cadenas de nombre de ensamblado. Por ejemplo, "ProcessorArchitecture=msil". Sin embargo, la manera recomendada de especificar un nombre de ensamblado es crear un AssemblyName objeto y pasarlo a una sobrecarga adecuada del Load método. Vea AssemblyName.ProcessorArchitecture.

Consulte también

Se aplica a

Load(AssemblyName, Evidence)

Precaución

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Carga un ensamblado dado su AssemblyName. El ensamblado se carga mediante la evidencia proporcionada.

public:
 static System::Reflection::Assembly ^ Load(System::Reflection::AssemblyName ^ assemblyRef, System::Security::Policy::Evidence ^ assemblySecurity);
public static System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity);
static member Load : System.Reflection.AssemblyName * System.Security.Policy.Evidence -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Load which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member Load : System.Reflection.AssemblyName * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function Load (assemblyRef As AssemblyName, assemblySecurity As Evidence) As Assembly

Parámetros

assemblyRef
AssemblyName

Objeto que describe el ensamblado que va a cargarse.

assemblySecurity
Evidence

Evidencia para cargar el ensamblado.

Devoluciones

Ensamblado cargado.

Atributos

Excepciones

assemblyRef es null.

No se ha encontrado assemblyRef.

assemblyRef no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

Se cargó un ensamblado o módulo dos veces con dos evidencias diferentes.

o bien

assemblyRef especifica un ensamblado remoto, pero la capacidad de ejecutar código en los ensamblados remotos está deshabilitada. Vea <loadFromRemoteSources>.

Comentarios

FileLoadException se produce si assemblyRef especifica el nombre completo del ensamblado y el primer ensamblado que coincide con el nombre simple tiene una versión, referencia cultural o token de clave pública diferente. El cargador no continúa sondeando otros ensamblados que coincidan con el nombre simple. A partir de .NET Framework 4, dado que la ejecución de código en ensamblados remotos está deshabilitada de forma predeterminada, también se produce una FileLoadException excepción si assemblyRef especifica un ensamblado remoto. Para habilitar la ejecución del código cargado desde ubicaciones remotas, puede usar el <loadFromRemoteSources> elemento de configuración .

Nota

No use un AssemblyName con solo el conjunto de CodeBase propiedades. La CodeBase propiedad no proporciona ningún elemento de la identidad del ensamblado (como el nombre o la versión), por lo que la carga no se produce según las reglas de carga por identidad, como cabría esperar del Load método . En su lugar, el ensamblado se carga mediante reglas de carga de origen. Para obtener información sobre las desventajas de usar el contexto load-from, consulte la Assembly.LoadFrom sobrecarga del método o los procedimientos recomendados para la carga de ensamblados.

La concesión de permisos específicos para un ensamblado se basa en la evidencia. Las reglas para la combinación de evidencias de seguridad y ensamblado son las siguientes:

  • Cuando se usa un Load método sin Evidence parámetro, el ensamblado se carga con la evidencia de que el cargador proporciona.

  • Cuando se usa un método con un LoadEvidence parámetro, se combinan fragmentos de evidencia. Las pruebas proporcionadas como argumento para el Load método sustituyen a las pruebas proporcionadas por el cargador.

  • Cuando se usa una Load sobrecarga de método con un Byte[] parámetro para cargar una imagen de formato de archivo de objeto común (COFF), la evidencia se hereda del ensamblado que realiza la llamada.

  • Cuando se usa un Load método con un Byte[] parámetro y Evidence para cargar una imagen COFF, solo se usa la evidencia proporcionada. Se omite la evidencia del ensamblado que realiza la llamada y de la evidencia de la imagen COFF.

Nota

Si se establecen tanto la AssemblyName.Name propiedad como la AssemblyName.CodeBase propiedad , el primer intento de cargar el ensamblado usa el nombre para mostrar (incluida la versión, la referencia cultural, etc.), tal y como devuelve la Assembly.FullName propiedad ). Si no se encuentra el archivo, CodeBase se usa para buscar el ensamblado. Si el ensamblado se encuentra utilizando CodeBase, el nombre para mostrar se compara con el ensamblado. Si se produce un error en la coincidencia, se produce una FileLoadException excepción .

Si llama al Load método más de una vez en el mismo ensamblado, pero con una evidencia diferente especificada, Common Language Runtime no inicia porque FileLoadException no se puede determinar la igualdad y la integridad de las distintas especificaciones de evidencia. La evidencia que primero se realiza correctamente es la evidencia que se usa.

Consulte también

Se aplica a

Load(Byte[])

Source:
Assembly.cs
Source:
Assembly.cs
Source:
Assembly.cs

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) y que contiene un ensamblado emitido.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly);
public static System.Reflection.Assembly Load (byte[] rawAssembly);
static member Load : byte[] -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte()) As Assembly

Parámetros

rawAssembly
Byte[]

Matriz de bytes que es una imagen basada en COFF que contiene un ensamblado emitido.

Devoluciones

Ensamblado cargado.

Excepciones

rawAssembly es null.

rawAssembly no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

Comentarios

Esta sobrecarga de método siempre crea un nuevo Assembly objeto en su propio contexto de carga aislado.

Solo .NET Framework: El nivel de confianza de un ensamblado que se carga mediante este método es el mismo que el nivel de confianza del ensamblado que realiza la llamada. Para cargar un ensamblado desde una matriz de bytes con el nivel de confianza del dominio de aplicación, use la sobrecarga del Load(Byte[], Byte[], SecurityContextSource) método . Para obtener más información sobre el uso de evidencias con sobrecargas del Load método que toman matrices de bytes, consulte la sobrecarga del Load(Byte[], Byte[], Evidence) método.

Se aplica a

Load(String)

Source:
Assembly.CoreCLR.cs
Source:
Assembly.CoreCLR.cs
Source:
Assembly.CoreCLR.cs

Carga un ensamblado con el nombre especificado.

public:
 static System::Reflection::Assembly ^ Load(System::String ^ assemblyString);
public static System.Reflection.Assembly Load (string assemblyString);
static member Load : string -> System.Reflection.Assembly
Public Shared Function Load (assemblyString As String) As Assembly

Parámetros

assemblyString
String

Forma larga o corta del nombre del ensamblado.

Devoluciones

Ensamblado cargado.

Excepciones

assemblyString es null.

assemblyString es cadena de longitud cero.

No se ha encontrado assemblyString.

No se pudo cargar un archivo que se encontró.

assemblyString no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

Ejemplos

En el ejemplo siguiente se carga un ensamblado según su nombre completo y se enumeran todos los tipos contenidos en el ensamblado especificado. Para obtener información sobre cómo obtener el nombre completo del ensamblado, vea Nombres de ensamblado.

using namespace System;
using namespace System::Collections;
using namespace System::Reflection;
int main()
{
    // You must supply a valid fully qualified assembly name.            
    Assembly^ SampleAssembly = Assembly::Load
        ( "SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3" );
    array<Type^>^ Types = SampleAssembly->GetTypes();
    
    // Display all the types contained in the specified assembly.
    IEnumerator^ myEnum = Types->GetEnumerator();
    Type^ oType;
    while ( myEnum->MoveNext() )
    {
        oType = safe_cast<Type^>(myEnum->Current);
        Console::WriteLine( oType->Name );
    }
}
using System;
using System.Reflection;

class Class1
{
    public static void Main()
    {
        // You must supply a valid fully qualified assembly name.
        Assembly SampleAssembly = Assembly.Load
            ("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3");
        // Display all the types contained in the specified assembly.
        foreach (Type oType in SampleAssembly.GetTypes()) {
            Console.WriteLine(oType.Name);
        }
    }
}
Imports System.Reflection

Class Class1
    Public Shared Sub Main()
        ' You must supply a valid fully qualified assembly name.            
        Dim SampleAssembly As [Assembly] = _
            [Assembly].Load("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3")
        Dim oType As Type
        ' Display all the types contained in the specified assembly.
        For Each oType In SampleAssembly.GetTypes()
            Console.WriteLine(oType.Name)
        Next oType
    End Sub	'LoadSample
End Class

Comentarios

Para cargar el ensamblado correcto, se recomienda llamar al Load método pasando la forma larga del nombre del ensamblado. La forma larga de un nombre de ensamblado consta de su nombre simple (como "System" para el ensamblado System.dll) junto con su versión, referencia cultural, token de clave pública y, opcionalmente, su arquitectura de procesador. Corresponde a la propiedad del FullName ensamblado. En el ejemplo siguiente se muestra el uso de un nombre largo para cargar el ensamblado de System.dll para .NET Framework 4:

using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      string longName = "system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
      Assembly assem = Assembly.Load(longName);
      if (assem == null)
         Console.WriteLine("Unable to load assembly...");
      else
         Console.WriteLine(assem.FullName);
   }
}
// The example displays the following output:
//        system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Imports System.Reflection

Module Example
   Public Sub Main()
      Dim longName As String = "system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      Dim assem As Assembly = Assembly.Load(longName)
      If assem Is Nothing Then
         Console.WriteLine("Unable to load assembly...")
      Else
         Console.WriteLine(assem.FullName)
      End If
   End Sub
End Module
' The example displays the following output:
'       system, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

FileLoadException se produce si assemblyString especifica el nombre completo del ensamblado y el primer ensamblado que coincide con el nombre simple tiene una versión, referencia cultural o token de clave pública diferente. El cargador no continúa sondeando otros ensamblados que coincidan con el nombre simple.

En .NET Framework versión 2.0, la arquitectura del procesador se agrega a la identidad del ensamblado y se puede especificar como parte de las cadenas de nombre de ensamblado. Por ejemplo, "ProcessorArchitecture=msil". Sin embargo, la manera recomendada de especificar un nombre de ensamblado es crear un AssemblyName objeto y pasarlo a una sobrecarga adecuada del Load método. Vea AssemblyName.ProcessorArchitecture.

Consulte también

Se aplica a

Load(AssemblyName)

Source:
Assembly.CoreCLR.cs
Source:
Assembly.CoreCLR.cs
Source:
Assembly.CoreCLR.cs

Carga un ensamblado dado su AssemblyName.

public:
 static System::Reflection::Assembly ^ Load(System::Reflection::AssemblyName ^ assemblyRef);
public static System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyRef);
static member Load : System.Reflection.AssemblyName -> System.Reflection.Assembly
Public Shared Function Load (assemblyRef As AssemblyName) As Assembly

Parámetros

assemblyRef
AssemblyName

Objeto que describe el ensamblado que va a cargarse.

Devoluciones

Ensamblado cargado.

Excepciones

assemblyRef es null.

No se ha encontrado assemblyRef.

No se pudo cargar un archivo que se encontró.

o bien

assemblyRef especifica un ensamblado remoto, pero la capacidad de ejecutar código en los ensamblados remotos está deshabilitada. Vea <loadFromRemoteSources>.

Nota: En .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable, capture la excepción de clase base, IOException, en su lugar.

assemblyRef no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

Ejemplos

En el ejemplo siguiente se crea una instancia de un AssemblyName objeto y se usa para cargar el sysglobal.dll ensamblado. A continuación, en el ejemplo se muestra el nombre completo de los tipos públicos del ensamblado.

using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      String fullName = "sysglobl, Version=4.0.0.0, Culture=neutral, " +
                        "PublicKeyToken=b03f5f7f11d50a3a, processor architecture=MSIL";
      var an = new AssemblyName(fullName);
      var assem = Assembly.Load(an);
      Console.WriteLine("Public types in assembly {0}:", assem.FullName);
      foreach (var t in assem.GetTypes())
         if (t.IsPublic)
            Console.WriteLine("   {0}", t.FullName);
   }
}
// The example displays the following output:
//   Public types in assembly sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a:
//      System.Globalization.CultureAndRegionInfoBuilder
//      System.Globalization.CultureAndRegionModifiers
Imports System.Reflection

Module Example
   Public Sub Main()
      Dim fullName As String = "sysglobl, Version=4.0.0.0, Culture=neutral, " +
                               "PublicKeyToken=b03f5f7f11d50a3a, processor architecture=MSIL"
      Dim an As New AssemblyName(fullName)
      Dim assem As Assembly = Assembly.Load(an)
      Console.WriteLine("Public types in assembly {0}:", assem.FullName)
      For Each t As Type in assem.GetTypes()
         If t.IsPublic Then Console.WriteLine("   {0}", t.FullName)
      Next
   End Sub
End Module
' The example displays the following output:
'   Public types in assembly sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a:
'      System.Globalization.CultureAndRegionInfoBuilder
'      System.Globalization.CultureAndRegionModifiers

Comentarios

FileLoadException se produce si assemblyRef especifica el nombre completo del ensamblado y el primer ensamblado que coincide con el nombre simple tiene una versión, referencia cultural o token de clave pública diferente. El cargador no continúa sondeando otros ensamblados que coincidan con el nombre simple. A partir de .NET Framework 4, dado que la ejecución de código en ensamblados remotos está deshabilitada de forma predeterminada, también se produce una FileLoadException excepción si assemblyRef especifica un ensamblado remoto. Para habilitar la ejecución del código cargado desde ubicaciones remotas, puede usar el <loadFromRemoteSources> elemento de configuración .

Nota

No use un AssemblyName con solo el conjunto de CodeBase propiedades. La CodeBase propiedad no proporciona ningún elemento de la identidad del ensamblado (como el nombre o la versión), por lo que la carga no se produce según las reglas de carga por identidad, como cabría esperar del Load método . En su lugar, el ensamblado se carga mediante reglas de carga de origen. Para obtener información sobre las desventajas de usar el contexto load-from, consulte la Assembly.LoadFrom sobrecarga del método o los procedimientos recomendados para la carga de ensamblados.

Nota

Si se establecen tanto la AssemblyName.Name propiedad como la AssemblyName.CodeBase propiedad , el primer intento de cargar el ensamblado usa el nombre para mostrar (incluida la versión, la referencia cultural, etc.), tal y como devuelve la Assembly.FullName propiedad ). Si no se encuentra el archivo, CodeBase se usa para buscar el ensamblado. Si el ensamblado se encuentra utilizando CodeBase, el nombre para mostrar se compara con el ensamblado. Si se produce un error en la coincidencia, se produce una FileLoadException excepción .

Consulte también

Se aplica a

Load(Byte[], Byte[])

Source:
Assembly.cs
Source:
Assembly.cs
Source:
Assembly.cs

Carga el ensamblado con una imagen que toma como base el formato Common Object File Format (COFF) que contiene un ensamblado emitido, incluyendo opcionalmente los símbolos del ensamblado.

public:
 static System::Reflection::Assembly ^ Load(cli::array <System::Byte> ^ rawAssembly, cli::array <System::Byte> ^ rawSymbolStore);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[]? rawSymbolStore);
public static System.Reflection.Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore);
static member Load : byte[] * byte[] -> System.Reflection.Assembly
Public Shared Function Load (rawAssembly As Byte(), rawSymbolStore As Byte()) As Assembly

Parámetros

rawAssembly
Byte[]

Matriz de bytes que es una imagen basada en COFF que contiene un ensamblado emitido.

rawSymbolStore
Byte[]

Matriz de bytes que contiene los bytes sin formato que representan los símbolos del ensamblado.

Devoluciones

Ensamblado cargado.

Excepciones

rawAssembly es null.

rawAssembly no es un ensamblado válido para el tiempo de ejecución cargado actualmente.

Comentarios

Esta sobrecarga de método siempre crea un nuevo Assembly objeto en su propio contexto de carga aislado.

Solo .NET Framework: El nivel de confianza de un ensamblado que se carga mediante este método es el mismo que el nivel de confianza del ensamblado que realiza la llamada. Para cargar un ensamblado desde una matriz de bytes con el nivel de confianza del dominio de aplicación, use la sobrecarga del Load(Byte[], Byte[], SecurityContextSource) método . Para obtener más información sobre el uso de evidencias con sobrecargas del Load método que toman matrices de bytes, consulte la sobrecarga del Load(Byte[], Byte[], Evidence) método.

Se aplica a