Assembly.Load Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 com o nome de exibição e usando as evidências fornecidas. |
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 ele não estiver habilitado, securityEvidence
deverá ser null
.
Comentários
Essa sobrecarga de método sempre cria um novo Assembly objeto em seu próprio contexto de carga isolado.
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 assembly e segurança são as seguintes:
Quando você usa um Load método sem Evidence parâmetro, o assembly é carregado com a evidência que o carregador fornece.
Quando você usa um Load método com um Evidence parâmetro , as evidências são mescladas. Partes de evidências 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, as evidências são herdadas do assembly de chamada.Quando você usa um Load método com um
Byte[]
parâmetro e Evidence para carregar uma imagem COFF, apenas as evidências fornecidas são usadas. As evidências do assembly de chamada e da evidência 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 com o nome de exibição e usando as evidências fornecidas.
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 a sondar 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 assembly e segurança são as seguintes:
Quando você usa um Load método sem Evidence parâmetro, o assembly é carregado com a evidência que o carregador fornece.
Quando você usa um Load método com um Evidence parâmetro , as evidências são mescladas. Partes de evidências 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, apenas as evidências fornecidas são usadas. As evidências do assembly de chamada e da 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 local desabilitado com base em <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 a sondar outros assemblies que correspondam ao nome simples.
Consulte <loadFromRemoteSources>
para carregar assemblies de locais remotos.
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 load-from, consulte a sobrecarga do Assembly.LoadFrom 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 assembly e segurança são as seguintes:
Quando você usa um Load método sem Evidence parâmetro, o assembly é carregado com a evidência que o carregador fornece.
Quando você usa um Load método com um Evidence parâmetro , as evidências são mescladas. Partes de evidências 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, apenas as evidências fornecidas são usadas. As evidências do assembly de chamada e da 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 isolado.
Somente .NET Framework: 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. Ele 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 a sondar 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 -
Somente .NET Framework: assemblyRef
especifica um local desabilitado com base em <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 a sondar outros assemblies que correspondam ao nome simples.
Somente .NET Framework: Consulte <loadFromRemoteSources>
para carregar assemblies de locais remotos.
Observação
Somente .NET Framework: 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 load-from, consulte a sobrecarga do Assembly.LoadFrom método ou Práticas Recomendadas para Carregamento de Assembly.
Observação
Somente .NET Framework: 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 isolado.
Somente .NET Framework: 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.