Assembly.Load Método

Definição

Carrega um assembly.

Sobrecargas

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

Carrega o assembly com uma imagem baseada no formato COFF contendo um assembly emitido, opcionalmente incluindo símbolos e especificando a fonte para o contexto de segurança.

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

Carrega o assembly com uma imagem baseada em formato COFF, contendo um assembly emitido, incluindo, opcionalmente, símbolos e evidência para o assembly.

Load(String, Evidence)
Obsoleto.

Carrega um assembly considerando seu nome de exibição e usando a evidência fornecida.

Load(AssemblyName, Evidence)
Obsoleto.

Carrega um assembly de acordo com seu AssemblyName. O assembly é carregado usando a evidência fornecida.

Load(Byte[])

Carrega o assembly com uma imagem baseada em formato COFF, contendo um assembly emitido.

Load(String)

Carrega um assembly com o nome especificado.

Load(AssemblyName)

Carrega um assembly de acordo com seu AssemblyName.

Load(Byte[], Byte[])

Carrega o assembly com uma imagem baseada em formato COFF, contendo um assembly emitido e com a opção de incluir símbolos para o assembly.

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

Carrega o assembly com uma imagem baseada no formato COFF contendo um assembly emitido, opcionalmente incluindo símbolos e especificando a fonte para o contexto de segurança.

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[]

Uma matriz de byte que é uma imagem baseada em COFF contendo um assembly emitido.

rawSymbolStore
Byte[]

Uma matriz de bytes que contém os bytes brutos que representam os símbolos do assembly.

securityContextSource
SecurityContextSource

A origem do contexto de segurança.

Retornos

O assembly carregado.

Exceções

rawAssembly é null.

rawAssembly não é um assembly válido para o runtime carregado no momento.

O valor atribuído de securityContextSource não é um dos valores de enumeração.

Comentários

O assembly é carregado no domínio do aplicativo do chamador usando a origem especificada para o contexto de segurança. Se rawSymbolStore tiver sido especificado, os bytes brutos que representam os símbolos do assembly também serão carregados.

Aplica-se a

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

Cuidado

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.

Carrega o assembly com uma imagem baseada em formato COFF, contendo um assembly emitido, incluindo, opcionalmente, símbolos e evidência para o assembly.

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[]

Uma matriz de byte que é uma imagem baseada em COFF contendo um assembly emitido.

rawSymbolStore
Byte[]

Uma matriz de bytes que contém os bytes brutos que representam os símbolos do assembly.

securityEvidence
Evidence

Evidência para carregar o assembly.

Retornos

O assembly carregado.

Atributos

Exceções

rawAssembly é null.

rawAssembly não é um assembly válido para o runtime carregado no momento.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.

securityEvidence não é null. Por padrão, a política CAS herdada não está habilitada no .NET Framework 4; quando não está habilitada, securityEvidence deve ser null.

Comentários

Essa sobrecarga de método sempre cria um novo Assembly objeto em seu próprio contexto de carga isolada.

O assembly é carregado usando a evidência fornecida. Os bytes brutos que representam os símbolos do assembly também são carregados.

Se determinadas permissões são concedidas ou não a um assembly é algo que se baseia na evidência. As regras para mesclagem de evidências de segurança e assembly são as seguintes:

  • Quando você usa um Load método sem Evidence parâmetro, o assembly é carregado com a evidência fornecida pelo carregador.

  • Quando você usa um Load método com um Evidence parâmetro , as evidências são mescladas. Partes de evidência fornecidas como um argumento para o Load método substituem partes de evidências fornecidas pelo carregador.

  • Quando você usa uma Load sobrecarga de método com um Byte[] parâmetro para carregar uma imagem COFF, a evidência é herdada do assembly de chamada.

  • Quando você usa um Load método com um Byte[] parâmetro e Evidence para carregar uma imagem COFF, somente a evidência fornecida é usada. Evidências do assembly de chamada e evidências da imagem COFF são ignoradas.

Se você chamar o Load método mais de uma vez no mesmo assembly, mas com uma evidência diferente especificada, o Common Language Runtime não gerará um FileLoadException porque a igualdade e a integridade das diferentes especificações de evidência não podem ser determinadas. A evidência que primeiro é bem-sucedida é a evidência que é usada.

Aplica-se a

Load(String, Evidence)

Cuidado

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.

Carrega um assembly considerando seu nome de exibição e usando a evidência fornecida.

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

O nome para exibição do assembly.

assemblySecurity
Evidence

Evidência para carregar o assembly.

Retornos

O assembly carregado.

Atributos

Exceções

assemblyString é null.

assemblyString não foi encontrado.

assemblyString não é um assembly válido para o runtime carregado no momento.

Não foi possível carregar um arquivo que foi encontrado.

- ou -

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.

Comentários

FileLoadException será gerado se assemblyString especificar o nome completo do assembly e o primeiro assembly que corresponde ao nome simples tiver uma versão, cultura ou token de chave pública diferente. O carregador não continua investigando outros assemblies que correspondam ao nome simples.

Se determinadas permissões são concedidas ou não a um assembly é algo que se baseia na evidência. As regras para mesclagem de evidências de segurança e assembly são as seguintes:

  • Quando você usa um Load método sem Evidence parâmetro, o assembly é carregado com a evidência fornecida pelo carregador.

  • Quando você usa um Load método com um Evidence parâmetro , as evidências são mescladas. Partes de evidência fornecidas como um argumento para o Load método substituem partes de evidências fornecidas pelo carregador.

  • Quando você usa uma Load sobrecarga de método com um Byte[] parâmetro para carregar uma imagem coff (formato de arquivo de objeto comum), a evidência é herdada do assembly de chamada.

  • Quando você usa um Load método com um Byte[] parâmetro e Evidence para carregar uma imagem COFF, somente a evidência fornecida é usada. A evidência do assembly de chamada e a evidência da imagem COFF são ignoradas.

Se você chamar esse método mais de uma vez no mesmo assembly, mas com uma evidência diferente especificada, o Common Language Runtime não gerará um FileLoadException porque a igualdade e a integridade das diferentes especificações de evidência não podem ser determinadas. A evidência que primeiro é bem-sucedida é a evidência que é usada.

No .NET Framework versão 2.0, a arquitetura do processador é adicionada à identidade do assembly e pode ser especificada como parte das cadeias de caracteres de nome do assembly. Por exemplo, "ProcessorArchitecture=msil". No entanto, a maneira recomendada de especificar um nome de assembly é criar um AssemblyName objeto e passá-lo para uma sobrecarga apropriada do Load método. Consulte AssemblyName.ProcessorArchitecture.

Confira também

Aplica-se a

Load(AssemblyName, Evidence)

Cuidado

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.

Carrega um assembly de acordo com seu AssemblyName. O assembly é carregado usando a evidência fornecida.

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

O objeto que descreve o assembly a ser carregado.

assemblySecurity
Evidence

Evidência para carregar o assembly.

Retornos

O assembly carregado.

Atributos

Exceções

assemblyRef é null.

assemblyRef não foi encontrado.

assemblyRef não é um assembly válido para o runtime carregado no momento.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.

- ou -

assemblyRef especifica um assembly remoto, mas a capacidade de executar código em assemblies remotos é desabilitada. Veja <loadFromRemoteSources>.

Comentários

FileLoadException será gerado se assemblyRef especificar o nome completo do assembly e o primeiro assembly que corresponde ao nome simples tiver uma versão, cultura ou token de chave pública diferente. O carregador não continua investigando outros assemblies que correspondam ao nome simples. A partir do .NET Framework 4, como a execução do código em assemblies remotos está desabilitada por padrão, um FileLoadException também será gerado se assemblyRef especificar um assembly remoto. Para habilitar a execução do código carregado de locais remotos, você pode usar o <loadFromRemoteSources> elemento de configuração .

Observação

Não use um AssemblyName com apenas o CodeBase conjunto de propriedades. A CodeBase propriedade não fornece nenhum elemento da identidade do assembly (como nome ou versão), portanto, o carregamento não ocorre de acordo com as regras de carregamento por identidade, como você esperaria do Load método . Em vez disso, o assembly é carregado usando regras de carregamento. Para obter informações sobre as desvantagens de usar o contexto de carregamento, consulte a Assembly.LoadFrom sobrecarga de método ou Práticas recomendadas para carregamento de assembly.

Se determinadas permissões são concedidas ou não a um assembly é algo que se baseia na evidência. As regras para mesclagem de evidências de segurança e assembly são as seguintes:

  • Quando você usa um Load método sem Evidence parâmetro, o assembly é carregado com a evidência fornecida pelo carregador.

  • Quando você usa um Load método com um Evidence parâmetro , as evidências são mescladas. Partes de evidência fornecidas como um argumento para o Load método substituem partes de evidências fornecidas pelo carregador.

  • Quando você usa uma Load sobrecarga de método com um Byte[] parâmetro para carregar uma imagem coff (formato de arquivo de objeto comum), a evidência é herdada do assembly de chamada.

  • Quando você usa um Load método com um Byte[] parâmetro e Evidence para carregar uma imagem COFF, somente a evidência fornecida é usada. A evidência do assembly de chamada e a evidência da imagem COFF são ignoradas.

Observação

Se a AssemblyName.Name propriedade e a AssemblyName.CodeBase propriedade estiverem definidas, a primeira tentativa de carregar o assembly usará o nome de exibição (incluindo versão, cultura e assim por diante, conforme retornado pela Assembly.FullName propriedade ). Se o arquivo não for encontrado, CodeBase será usado para pesquisar o assembly. Se o assembly for encontrado usando CodeBase, o nome de exibição será correspondido com o assembly. Se a correspondência falhar, um FileLoadException será lançado.

Se você chamar o Load método mais de uma vez no mesmo assembly, mas com uma evidência diferente especificada, o Common Language Runtime não gerará um FileLoadException porque a igualdade e a integridade das diferentes especificações de evidência não podem ser determinadas. A evidência que primeiro é bem-sucedida é a evidência que é usada.

Confira também

Aplica-se a

Load(Byte[])

Origem:
Assembly.cs
Origem:
Assembly.cs
Origem:
Assembly.cs

Carrega o assembly com uma imagem baseada em formato COFF, contendo um assembly 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[]

Uma matriz de byte que é uma imagem baseada em COFF contendo um assembly emitido.

Retornos

O assembly carregado.

Exceções

rawAssembly é null.

rawAssembly não é um assembly válido para o runtime carregado no momento.

Comentários

Essa sobrecarga de método sempre cria um novo Assembly objeto em seu próprio contexto de carga isolada.

.NET Framework apenas: o nível de confiança de um assembly carregado usando esse método é o mesmo que o nível de confiança do assembly de chamada. Para carregar um assembly de uma matriz de bytes com o nível de confiança do domínio do aplicativo, use a sobrecarga do Load(Byte[], Byte[], SecurityContextSource) método. Para obter mais informações sobre o uso de evidências com sobrecargas do Load método que usam matrizes de bytes, consulte a sobrecarga do Load(Byte[], Byte[], Evidence) método.

Aplica-se a

Load(String)

Origem:
Assembly.CoreCLR.cs
Origem:
Assembly.CoreCLR.cs
Origem:
Assembly.CoreCLR.cs

Carrega um assembly com o nome 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

A forma longa ou abreviada do nome do assembly.

Retornos

O assembly carregado.

Exceções

assemblyString é null.

assemblyString é uma cadeia de comprimento zero.

assemblyString não foi encontrado.

Não foi possível carregar um arquivo que foi encontrado.

assemblyString não é um assembly válido para o runtime carregado no momento.

Exemplos

O exemplo a seguir carrega um assembly com o nome totalmente qualificado e lista todos os tipos contidos no assembly especificado. Para obter informações sobre como obter o nome do assembly totalmente qualificado, consulte Nomes de assembly.

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

Comentários

Para carregar o assembly correto, é recomendável chamar o Load método passando a forma longa do nome do assembly. A forma longa de um nome de assembly consiste em seu nome simples (como "System" para o assembly System.dll) juntamente com sua versão, cultura, token de chave pública e, opcionalmente, sua arquitetura de processador. Corresponde à propriedade do FullName assembly. O exemplo a seguir ilustra o uso de um nome longo para carregar o assembly System.dll para o .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 será gerado se assemblyString especificar o nome completo do assembly e o primeiro assembly que corresponde ao nome simples tiver uma versão, cultura ou token de chave pública diferente. O carregador não continua investigando outros assemblies que correspondam ao nome simples.

No .NET Framework versão 2.0, a arquitetura do processador é adicionada à identidade do assembly e pode ser especificada como parte das cadeias de caracteres de nome do assembly. Por exemplo, "ProcessorArchitecture=msil". No entanto, a maneira recomendada de especificar um nome de assembly é criar um AssemblyName objeto e passá-lo para uma sobrecarga apropriada do Load método. Consulte AssemblyName.ProcessorArchitecture.

Confira também

Aplica-se a

Load(AssemblyName)

Origem:
Assembly.CoreCLR.cs
Origem:
Assembly.CoreCLR.cs
Origem:
Assembly.CoreCLR.cs

Carrega um assembly de acordo com seu 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

O objeto que descreve o assembly a ser carregado.

Retornos

O assembly carregado.

Exceções

assemblyRef é null.

assemblyRef não foi encontrado.

Não foi possível carregar um arquivo que foi encontrado.

- ou -

assemblyRef especifica um assembly remoto, mas a capacidade de executar código em assemblies remotos é desabilitada. Veja <loadFromRemoteSources>.

Observação: no .NET para aplicativos da Windows Store ou na Biblioteca de Classes Portátil, capture a exceção de classe base, IOException, em vez disso.

assemblyRef não é um assembly válido para o runtime carregado no momento.

Exemplos

O exemplo a seguir cria uma instância de um AssemblyName objeto e o usa para carregar o sysglobal.dll assembly. Em seguida, o exemplo exibe o nome completo dos tipos públicos do assembly.

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

Comentários

FileLoadException será gerado se assemblyRef especificar o nome completo do assembly e o primeiro assembly que corresponde ao nome simples tiver uma versão, cultura ou token de chave pública diferente. O carregador não continua investigando outros assemblies que correspondam ao nome simples. A partir do .NET Framework 4, como a execução do código em assemblies remotos está desabilitada por padrão, um FileLoadException também será gerado se assemblyRef especificar um assembly remoto. Para habilitar a execução do código carregado de locais remotos, você pode usar o <loadFromRemoteSources> elemento de configuração .

Observação

Não use um AssemblyName com apenas o CodeBase conjunto de propriedades. A CodeBase propriedade não fornece nenhum elemento da identidade do assembly (como nome ou versão), portanto, o carregamento não ocorre de acordo com as regras de carregamento por identidade, como você esperaria do Load método . Em vez disso, o assembly é carregado usando regras de carregamento. Para obter informações sobre as desvantagens de usar o contexto de carregamento, consulte a Assembly.LoadFrom sobrecarga de método ou Práticas recomendadas para carregamento de assembly.

Observação

Se a AssemblyName.Name propriedade e a AssemblyName.CodeBase propriedade estiverem definidas, a primeira tentativa de carregar o assembly usará o nome de exibição (incluindo versão, cultura e assim por diante, conforme retornado pela Assembly.FullName propriedade ). Se o arquivo não for encontrado, CodeBase será usado para pesquisar o assembly. Se o assembly for encontrado usando CodeBase, o nome de exibição será correspondido com o assembly. Se a correspondência falhar, um FileLoadException será lançado.

Confira também

Aplica-se a

Load(Byte[], Byte[])

Origem:
Assembly.cs
Origem:
Assembly.cs
Origem:
Assembly.cs

Carrega o assembly com uma imagem baseada em formato COFF, contendo um assembly emitido e com a opção de incluir símbolos para o assembly.

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[]

Uma matriz de byte que é uma imagem baseada em COFF contendo um assembly emitido.

rawSymbolStore
Byte[]

Uma matriz de bytes que contém os bytes brutos que representam os símbolos do assembly.

Retornos

O assembly carregado.

Exceções

rawAssembly é null.

rawAssembly não é um assembly válido para o runtime carregado no momento.

Comentários

Essa sobrecarga de método sempre cria um novo Assembly objeto em seu próprio contexto de carga isolada.

.NET Framework apenas: o nível de confiança de um assembly carregado usando esse método é o mesmo que o nível de confiança do assembly de chamada. Para carregar um assembly de uma matriz de bytes com o nível de confiança do domínio do aplicativo, use a sobrecarga do Load(Byte[], Byte[], SecurityContextSource) método. Para obter mais informações sobre o uso de evidências com sobrecargas do Load método que usam matrizes de bytes, consulte a sobrecarga do Load(Byte[], Byte[], Evidence) método.

Aplica-se a