Assembly.Load Metodo

Definizione

Carica un assembly.

Overload

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

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) che contiene un assembly generato, include facoltativamente i simboli e specifica l'origine per il contesto di sicurezza.

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

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) che contiene un assembly generato e include facoltativamente i simboli e l'evidenza per l'assembly.

Load(String, Evidence)
Obsoleti.

Carica un assembly con il nome visualizzato e l'uso dell'evidenza fornita.

Load(AssemblyName, Evidence)
Obsoleti.

Carica un assembly dato il relativo oggetto AssemblyName. L'assembly viene caricato usando l'evidenza fornita.

Load(Byte[])

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) contenente un assembly generato.

Load(String)

Carica un assembly con il nome specificato.

Load(AssemblyName)

Carica un assembly dato il relativo oggetto AssemblyName.

Load(Byte[], Byte[])

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) che contiene un assembly generato e include facoltativamente i simboli per l'assembly.

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

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) che contiene un assembly generato, include facoltativamente i simboli e specifica l'origine per il contesto di sicurezza.

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

Parametri

rawAssembly
Byte[]

Matrice di byte costituita da un'immagine in formato COFF contenente un assembly generato.

rawSymbolStore
Byte[]

Matrice di byte contenente i byte non elaborati che rappresentano i simboli per l'assembly.

securityContextSource
SecurityContextSource

Origine del contesto di sicurezza.

Restituisce

Assembly caricato.

Eccezioni

rawAssembly è null.

rawAssembly non è un assembly valido per il runtime attualmente caricato.

Il valore di securityContextSource non è uno dei valori di enumerazione.

Commenti

L'assembly viene caricato nel dominio dell'applicazione del chiamante usando l'origine specificata per il contesto di sicurezza. Se rawSymbolStore specificato, vengono caricati anche i byte non elaborati che rappresentano i simboli per l'assembly.

Si applica a

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

Attenzione

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.

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) che contiene un assembly generato e include facoltativamente i simboli e l'evidenza per l'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

Parametri

rawAssembly
Byte[]

Matrice di byte costituita da un'immagine in formato COFF contenente un assembly generato.

rawSymbolStore
Byte[]

Matrice di byte contenente i byte non elaborati che rappresentano i simboli per l'assembly.

securityEvidence
Evidence

Evidenza per il caricamento dell'assembly.

Restituisce

Assembly caricato.

Attributi

Eccezioni

rawAssembly è null.

rawAssembly non è un assembly valido per il runtime attualmente caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

securityEvidence non è null. Per impostazione predefinita, i criteri CAS legacy non sono abilitati in .NET Framework 4; quando non è abilitato, securityEvidence deve essere null.

Commenti

Questo overload del metodo crea sempre un nuovo Assembly oggetto nel proprio contesto di carico isolato.

L'assembly viene caricato usando l'evidenza fornita. Vengono caricati anche i byte non elaborati che rappresentano i simboli per l'assembly.

Se sussistano o meno le autorizzazioni per l'utilizzo di un assembly lo si evince dalle evidenze. Le regole per l'unione delle prove di sicurezza e assembly sono le seguenti:

  • Quando si usa un Load metodo senza Evidence parametro, l'assembly viene caricato con l'evidenza fornita dal caricatore.

  • Quando si usa un metodo con un LoadEvidence parametro, vengono unite parti di evidenza. Parti di prove fornite come argomento al Load metodo sosede parti di prove fornite dal caricatore.

  • Quando si usa un overload di metodo con un Byte[] parametro per caricare un'immagine Load COFF, l'evidenza viene ereditata dall'assembly chiamante.

  • Quando si usa un metodo con un Byte[] parametro e Evidence per caricare un'immagine Load COFF, viene usata solo l'evidenza fornita. Le prove dell'assembly chiamante e delle prove dell'immagine COFF vengono ignorate.

Se si chiama il Load metodo più di una volta nello stesso assembly, ma con un'evidenza diversa specificata, Common Language Runtime non genera un FileLoadException perché non è possibile determinare l'uguaglianza e l'integrità delle diverse specifiche di evidenza. L'evidenza che ha esito positivo è l'evidenza usata.

Si applica a

Load(String, Evidence)

Attenzione

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.

Carica un assembly con il nome visualizzato e l'uso dell'evidenza fornita.

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

Parametri

assemblyString
String

Nome visualizzato dell'assembly.

assemblySecurity
Evidence

Evidenza per il caricamento dell'assembly.

Restituisce

Assembly caricato.

Attributi

Eccezioni

assemblyString è null.

assemblyString non trovata.

assemblyString non è un assembly valido per il runtime attualmente caricato.

Non è stato possibile caricare un file trovato.

-oppure-

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

Commenti

FileLoadException viene generato se assemblyString specifica il nome completo dell'assembly e il primo assembly corrispondente al nome semplice ha una versione diversa, impostazioni cultura o token di chiave pubblica. Il caricatore non continua a eseguire il test per altri assembly che corrispondono al nome semplice.

Se sussistano o meno le autorizzazioni per l'utilizzo di un assembly lo si evince dalle evidenze. Le regole per l'unione delle prove di sicurezza e assembly sono le seguenti:

  • Quando si usa un Load metodo senza Evidence parametro, l'assembly viene caricato con l'evidenza fornita dal caricatore.

  • Quando si usa un metodo con un LoadEvidence parametro, vengono unite parti di evidenza. Parti di prove fornite come argomento al Load metodo sosede parti di prove fornite dal caricatore.

  • Quando si usa un overload di metodo con un Byte[] parametro per caricare un'immagine Load COFF (Common Object File Format), l'evidenza viene ereditata dall'assembly chiamante.

  • Quando si usa un metodo con un Byte[] parametro e Evidence per caricare un'immagine Load COFF, viene usata solo l'evidenza fornita. Le prove dell'assembly chiamante e delle prove dell'immagine COFF vengono ignorate.

Se si chiama questo metodo più di una volta nello stesso assembly, ma con un'evidenza diversa specificata, Common Language Runtime non genera un FileLoadException perché non è possibile determinare l'uguaglianza e l'integrità delle diverse specifiche di evidenza. L'evidenza che ha esito positivo è l'evidenza usata.

Nella versione 2.0 di .NET Framework l'architettura del processore viene aggiunta all'identità dell'assembly e può essere specificata come parte delle stringhe dei nomi dell'assembly. Ad esempio, "ProcessorArchitecture=msil". Tuttavia, il modo consigliato per specificare un nome dell'assembly consiste nel creare un AssemblyName oggetto e passarlo a un overload appropriato del Load metodo. Vedere AssemblyName.ProcessorArchitecture.

Vedi anche

Si applica a

Load(AssemblyName, Evidence)

Attenzione

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.

Carica un assembly dato il relativo oggetto AssemblyName. L'assembly viene caricato usando l'evidenza fornita.

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

Parametri

assemblyRef
AssemblyName

Oggetto che descrive l'assembly da caricare.

assemblySecurity
Evidence

Evidenza per il caricamento dell'assembly.

Restituisce

Assembly caricato.

Attributi

Eccezioni

assemblyRef è null.

assemblyRef non trovata.

assemblyRef non è un assembly valido per il runtime attualmente caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

-oppure-

assemblyRef specifica un assembly remoto, ma la possibilità di eseguire codice negli assembly remoti è disabilitata. Vedere <loadFromRemoteSources>.

Commenti

FileLoadException viene generato se assemblyRef specifica il nome completo dell'assembly e il primo assembly corrispondente al nome semplice ha una versione diversa, impostazioni cultura o token di chiave pubblica. Il caricatore non continua a eseguire il test per altri assembly che corrispondono al nome semplice. A partire da .NET Framework 4, perché l'esecuzione del codice negli assembly remoti è disabilitata per impostazione predefinita, viene generata anche una FileLoadException classe se assemblyRef specifica un assembly remoto. Per abilitare l'esecuzione del codice caricato da posizioni remote, è possibile usare l'elemento <loadFromRemoteSources> di configurazione.

Nota

Non usare un AssemblyName oggetto con solo il set di CodeBase proprietà. La CodeBase proprietà non fornisce alcun elemento dell'identità dell'assembly (ad esempio nome o versione), pertanto il caricamento non viene eseguito in base alle regole di caricamento per identità, come ci si aspetterebbe dal Load metodo . L'assembly viene invece caricato usando regole di caricamento. Per informazioni sugli svantaggi dell'uso del contesto di caricamento, vedere l'overload del metodo o le procedure consigliate per ilAssembly.LoadFrom caricamento degli assembly.

Se sussistano o meno le autorizzazioni per l'utilizzo di un assembly lo si evince dalle evidenze. Di seguito sono riportate le regole per l'unione di prove di assembly e sicurezza:

  • Quando si usa un Load metodo senza Evidence parametri, l'assembly viene caricato con l'evidenza fornita dal caricatore.

  • Quando si usa un metodo con un LoadEvidence parametro, vengono unite parti di evidenza. Parti di prove fornite come argomento per il Load metodo sostituiscono parti di prove fornite dal caricatore.

  • Quando si usa un Load overload del metodo con un Byte[] parametro per caricare un'immagine COFF (Common Object File Format), l'evidenza viene ereditata dall'assembly chiamante.

  • Quando si usa un metodo con un LoadByte[] parametro e Evidence per caricare un'immagine COFF, viene usata solo l'evidenza fornita. L'evidenza dell'assembly chiamante e dell'evidenza dell'immagine COFF viene ignorata.

Nota

Se vengono impostate sia la AssemblyName.Name proprietà che la AssemblyName.CodeBase proprietà , il primo tentativo di caricare l'assembly usa il nome visualizzato (inclusa la versione, le impostazioni cultura e così via, come restituito dalla Assembly.FullName proprietà ). Se il file non viene trovato, CodeBase viene usato per cercare l'assembly. Se l'assembly viene trovato usando CodeBase, il nome visualizzato viene confrontato con l'assembly. Se la corrispondenza ha esito negativo, viene generata un'eccezione FileLoadException .

Se si chiama il Load metodo più volte nello stesso assembly ma con un'evidenza diversa specificata, Common Language Runtime non genera un'eccezione FileLoadException perché non è possibile determinare l'uguaglianza e l'integrità delle diverse specifiche di evidenza. L'evidenza che ha prima esito positivo è l'evidenza usata.

Vedi anche

Si applica a

Load(Byte[])

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

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) contenente un assembly generato.

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

Parametri

rawAssembly
Byte[]

Matrice di byte costituita da un'immagine in formato COFF contenente un assembly generato.

Restituisce

Assembly caricato.

Eccezioni

rawAssembly è null.

rawAssembly non è un assembly valido per il runtime attualmente caricato.

Commenti

Questo overload del metodo crea sempre un nuovo Assembly oggetto nel proprio contesto di carico isolato.

Solo .NET Framework: Il livello di attendibilità di un assembly caricato tramite questo metodo corrisponde al livello di attendibilità dell'assembly chiamante. Per caricare un assembly da una matrice di byte con il livello di attendibilità del dominio applicazione, usare l'overload del Load(Byte[], Byte[], SecurityContextSource) metodo . Per altre informazioni sull'uso dell'evidenza con overload del Load metodo che accetta matrici di byte, vedere l'overload del Load(Byte[], Byte[], Evidence) metodo.

Si applica a

Load(String)

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

Carica un assembly con il nome specificato.

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

Parametri

assemblyString
String

Forma estesa o breve del nome dell'assembly.

Restituisce

Assembly caricato.

Eccezioni

assemblyString è null.

assemblyString è una stringa di lunghezza zero.

assemblyString non trovata.

Non è stato possibile caricare un file trovato.

assemblyString non è un assembly valido per il runtime attualmente caricato.

Esempio

Nell'esempio seguente viene caricato un assembly in base al nome completo e vengono elencati tutti i tipi contenuti nell'assembly specificato. Per informazioni su come ottenere il nome completo dell'assembly, vedere Nomi 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

Commenti

Per caricare l'assembly corretto, è consigliabile chiamare il Load metodo passando il formato lungo del nome dell'assembly. La forma lunga di un nome di assembly è costituita dal nome semplice ,ad esempio "System" per l'assembly System.dll, insieme alla versione, alle impostazioni cultura, al token di chiave pubblica e, facoltativamente, alla relativa architettura del processore. Corrisponde alla proprietà dell'assembly FullName . Nell'esempio seguente viene illustrato l'uso di un nome lungo per caricare l'assembly System.dll per .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 viene generata se assemblyString specifica il nome completo dell'assembly e il primo assembly che corrisponde al nome semplice ha una versione diversa, impostazioni cultura o token di chiave pubblica. Il caricatore non continua a eseguire il probe per altri assembly che corrispondono al nome semplice.

In .NET Framework versione 2.0 l'architettura del processore viene aggiunta all'identità dell'assembly e può essere specificata come parte delle stringhe del nome dell'assembly. Ad esempio, "ProcessorArchitecture=msil". Tuttavia, il modo consigliato per specificare un nome di assembly consiste nel creare un AssemblyName oggetto e passarlo a un overload appropriato del Load metodo . Vedere AssemblyName.ProcessorArchitecture.

Vedi anche

Si applica a

Load(AssemblyName)

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

Carica un assembly dato il relativo oggetto 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

Parametri

assemblyRef
AssemblyName

Oggetto che descrive l'assembly da caricare.

Restituisce

Assembly caricato.

Eccezioni

assemblyRef è null.

assemblyRef non trovata.

Non è stato possibile caricare un file trovato.

-oppure-

assemblyRef specifica un assembly remoto, ma la possibilità di eseguire codice negli assembly remoti è disabilitata. Vedere <loadFromRemoteSources>.

Nota: in .NET per le app di Windows Store o nella libreria di classi portabile intercettare invece l'eccezione della classe di base, IOException, .

assemblyRef non è un assembly valido per il runtime attualmente caricato.

Esempio

Nell'esempio seguente viene creata un'istanza di un AssemblyName oggetto e viene utilizzata per caricare l'assembly sysglobal.dll . Nell'esempio viene quindi visualizzato il nome completo dei tipi pubblici dell'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

Commenti

FileLoadException viene generata se assemblyRef specifica il nome completo dell'assembly e il primo assembly che corrisponde al nome semplice ha una versione diversa, impostazioni cultura o token di chiave pubblica. Il caricatore non continua a eseguire il probe per altri assembly che corrispondono al nome semplice. A partire da .NET Framework 4, poiché l'esecuzione di codice negli assembly remoti è disabilitata per impostazione predefinita, viene generata anche un'eccezione FileLoadException se assemblyRef specifica un assembly remoto. Per abilitare l'esecuzione del codice caricato da posizioni remote, è possibile usare l'elemento <loadFromRemoteSources> di configurazione.

Nota

Non utilizzare un AssemblyName oggetto con solo il set di CodeBase proprietà. La CodeBase proprietà non fornisce alcun elemento dell'identità dell'assembly (ad esempio nome o versione), pertanto il caricamento non viene eseguito in base alle regole di caricamento per identità, come ci si aspetterebbe dal Load metodo . L'assembly viene invece caricato usando regole di caricamento. Per informazioni sugli svantaggi dell'uso del contesto di caricamento, vedere l'overload del metodo o le procedure consigliate per ilAssembly.LoadFrom caricamento degli assembly.

Nota

Se vengono impostate sia la AssemblyName.Name proprietà che la AssemblyName.CodeBase proprietà , il primo tentativo di caricare l'assembly usa il nome visualizzato (inclusa la versione, le impostazioni cultura e così via, come restituito dalla Assembly.FullName proprietà ). Se il file non viene trovato, CodeBase viene usato per cercare l'assembly. Se l'assembly viene trovato usando CodeBase, il nome visualizzato viene confrontato con l'assembly. Se la corrispondenza ha esito negativo, viene generata un'eccezione FileLoadException .

Vedi anche

Si applica a

Load(Byte[], Byte[])

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

Carica l'assembly con un'immagine in formato COFF (Common Object File Format) che contiene un assembly generato e include facoltativamente i simboli per l'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

Parametri

rawAssembly
Byte[]

Matrice di byte costituita da un'immagine in formato COFF contenente un assembly generato.

rawSymbolStore
Byte[]

Matrice di byte contenente i byte non elaborati che rappresentano i simboli per l'assembly.

Restituisce

Assembly caricato.

Eccezioni

rawAssembly è null.

rawAssembly non è un assembly valido per il runtime attualmente caricato.

Commenti

Questo overload del metodo crea sempre un nuovo Assembly oggetto nel proprio contesto di carico isolato.

Solo .NET Framework: Il livello di attendibilità di un assembly caricato tramite questo metodo corrisponde al livello di attendibilità dell'assembly chiamante. Per caricare un assembly da una matrice di byte con il livello di attendibilità del dominio applicazione, usare l'overload del Load(Byte[], Byte[], SecurityContextSource) metodo . Per altre informazioni sull'uso dell'evidenza con overload del Load metodo che accetta matrici di byte, vedere l'overload del Load(Byte[], Byte[], Evidence) metodo.

Si applica a