Assembly.Load Méthode

Définition

Charge un assembly.

Surcharges

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

Charge l'assembly avec une image COFF (Common Object File Format) contenant un assembly émis qui inclut éventuellement des symboles et qui spécifie la source du contexte de sécurité.

Load(Byte[], Byte[], Evidence)
Obsolète.

Charge l'assembly avec une image COFF (Common Object File Format) contenant un assembly émis qui inclut éventuellement des symboles et des preuves de l'assembly.

Load(String, Evidence)
Obsolète.

Charge un assembly en fonction de son nom d’affichage et à l’aide de la preuve fournie.

Load(AssemblyName, Evidence)
Obsolète.

Charge un assembly en fonction de son AssemblyName. L’assembly est chargé à l’aide de la preuve fournie.

Load(Byte[])

Charge l'assembly avec une image au format COFF (Common Object File Format) contenant un assembly émis.

Load(String)

Charge un assembly portant le nom spécifié.

Load(AssemblyName)

Charge un assembly en fonction de son AssemblyName.

Load(Byte[], Byte[])

Charge l'assembly avec une image COFF (Common Object File Format) contenant un assembly émis qui inclut éventuellement des symboles de l'assembly.

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

Charge l'assembly avec une image COFF (Common Object File Format) contenant un assembly émis qui inclut éventuellement des symboles et qui spécifie la source du contexte de sécurité.

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

Paramètres

rawAssembly
Byte[]

Tableau d'octets qui est une image au format COFF contenant un assembly émis.

rawSymbolStore
Byte[]

Tableau d'octets qui contient les octets bruts représentant les symboles de l'assembly.

securityContextSource
SecurityContextSource

Source du contexte de sécurité.

Retours

Assembly chargé.

Exceptions

rawAssembly a la valeur null.

rawAssembly n’est pas un assembly valide pour le runtime actuellement chargé.

La valeur de securityContextSource n’est pas l’une des valeurs d’énumération.

Remarques

L’assembly est chargé dans le domaine d’application de l’appelant à l’aide de la source spécifiée pour le contexte de sécurité. Si rawSymbolStore a été spécifié, les octets bruts qui représentent les symboles de l’assembly sont également chargés.

S’applique à

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

Attention

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.

Charge l'assembly avec une image COFF (Common Object File Format) contenant un assembly émis qui inclut éventuellement des symboles et des preuves de 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

Paramètres

rawAssembly
Byte[]

Tableau d'octets qui est une image au format COFF contenant un assembly émis.

rawSymbolStore
Byte[]

Tableau d'octets qui contient les octets bruts représentant les symboles de l'assembly.

securityEvidence
Evidence

Preuve de chargement de l'assembly.

Retours

Assembly chargé.

Attributs

Exceptions

rawAssembly a la valeur null.

rawAssembly n’est pas un assembly valide pour le runtime actuellement chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

securityEvidence n’est pas un null. Par défaut, la stratégie CAS héritée n’est pas activée dans .NET Framework 4 ; lorsqu’il n’est pas activé, securityEvidence doit être null.

Remarques

Cette surcharge de méthode crée toujours un nouvel Assembly objet dans son propre contexte de charge isolé.

L’assembly est chargé à l’aide de la preuve fournie. Les octets bruts représentant les symboles de l’assembly sont également chargés.

L'octroi ou non de certaines autorisations à un assembly repose sur la preuve. Les règles de fusion des preuves d’assembly et de sécurité sont les suivantes :

  • Lorsque vous utilisez une Load méthode sans Evidence paramètre, l’assembly est chargé avec la preuve que le chargeur fournit.

  • Lorsque vous utilisez une Load méthode avec un Evidence paramètre, les éléments de preuve sont fusionnés. Les éléments de preuve fournis comme argument de la Load méthode remplacent les éléments de preuve fournis par le chargeur.

  • Lorsque vous utilisez une Load surcharge de méthode avec un Byte[] paramètre pour charger une image COFF, la preuve est héritée de l’assembly appelant.

  • Lorsque vous utilisez une Load méthode avec un Byte[] paramètre et Evidence pour charger une image COFF, seule la preuve fournie est utilisée. La preuve de l’assembly appelant et la preuve de l’image COFF sont ignorées.

Si vous appelez la Load méthode plusieurs fois sur le même assembly, mais avec une preuve différente spécifiée, le Common Language Runtime ne lève pas un FileLoadException , car l’égalité et l’intégrité des différentes spécifications de preuves ne peuvent pas être déterminées. La preuve qu’elle réussit en premier est la preuve utilisée.

S’applique à

Load(String, Evidence)

Attention

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.

Charge un assembly en fonction de son nom d’affichage et à l’aide de la preuve fournie.

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

Paramètres

assemblyString
String

Nom complet de l'assembly.

assemblySecurity
Evidence

Preuve de chargement de l'assembly.

Retours

Assembly chargé.

Attributs

Exceptions

assemblyString a la valeur null.

assemblyString est introuvable.

assemblyString n’est pas un assembly valide pour le runtime actuellement chargé.

Impossible de charger l’un des fichiers trouvés.

- ou -

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

Remarques

FileLoadException est levée si assemblyString spécifie le nom complet de l’assembly et que le premier assembly qui correspond au nom simple a une version, une culture ou un jeton de clé publique différent. Le chargeur ne continue pas à rechercher d’autres assemblys qui correspondent au nom simple.

L'octroi ou non de certaines autorisations à un assembly repose sur la preuve. Les règles de fusion des preuves d’assembly et de sécurité sont les suivantes :

  • Lorsque vous utilisez une Load méthode sans Evidence paramètre, l’assembly est chargé avec la preuve que le chargeur fournit.

  • Lorsque vous utilisez une Load méthode avec un Evidence paramètre, les éléments de preuve sont fusionnés. Les éléments de preuve fournis comme argument de la Load méthode remplacent les éléments de preuve fournis par le chargeur.

  • Lorsque vous utilisez une Load surcharge de méthode avec un Byte[] paramètre pour charger une image au format de fichier objet commun (COFF), la preuve est héritée de l’assembly appelant.

  • Lorsque vous utilisez une Load méthode avec un Byte[] paramètre et Evidence pour charger une image COFF, seule la preuve fournie est utilisée. La preuve de l’assembly appelant et la preuve de l’image COFF sont ignorées.

Si vous appelez cette méthode plusieurs fois sur le même assembly, mais avec une preuve différente spécifiée, le Common Language Runtime ne lève pas un FileLoadException , car l’égalité et l’intégrité des différentes spécifications de preuves ne peuvent pas être déterminées. La preuve qu’elle réussit en premier est la preuve utilisée.

Dans .NET Framework version 2.0, l’architecture du processeur est ajoutée à l’identité d’assembly et peut être spécifiée dans le cadre de chaînes de noms d’assembly. Par exemple, « ProcessorArchitecture=msil ». Toutefois, la méthode recommandée pour spécifier un nom d’assembly consiste à créer un AssemblyName objet et à le transmettre à une surcharge appropriée de la Load méthode. Consultez AssemblyName.ProcessorArchitecture.

Voir aussi

S’applique à

Load(AssemblyName, Evidence)

Attention

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.

Charge un assembly en fonction de son AssemblyName. L’assembly est chargé à l’aide de la preuve fournie.

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

Paramètres

assemblyRef
AssemblyName

Objet qui décrit l'assembly à charger.

assemblySecurity
Evidence

Preuve de chargement de l'assembly.

Retours

Assembly chargé.

Attributs

Exceptions

assemblyRef a la valeur null.

assemblyRef est introuvable.

assemblyRef n’est pas un assembly valide pour le runtime actuellement chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

- ou -

assemblyRef spécifie un assembly distant, mais la possibilité d’exécuter du code dans des assemblys distants est désactivée. Consultez <loadFromRemoteSources>.

Remarques

FileLoadException est levée si assemblyRef spécifie le nom complet de l’assembly et que le premier assembly qui correspond au nom simple a une version, une culture ou un jeton de clé publique différent. Le chargeur ne continue pas à rechercher d’autres assemblys qui correspondent au nom simple. À compter de .NET Framework 4, comme l’exécution de code dans les assemblys distants est désactivée par défaut, un FileLoadException est également levée si assemblyRef spécifie un assembly distant. Pour activer l’exécution du code chargé à partir d’emplacements distants, vous pouvez utiliser l’élément de <loadFromRemoteSources> configuration.

Notes

N’utilisez pas de AssemblyName avec uniquement la CodeBase propriété définie. La CodeBase propriété ne fournit aucun élément de l’identité de l’assembly (par exemple, le nom ou la version), de sorte que le chargement ne se produit pas en fonction des règles de chargement par identité, comme vous pouvez l’attendre de la Load méthode. Au lieu de cela, l’assembly est chargé à l’aide de règles de chargement à partir de . Pour plus d’informations sur les inconvénients de l’utilisation du contexte de chargement à partir de , consultez la Assembly.LoadFrom surcharge de méthode ou Meilleures pratiques pour le chargement d’assemblys.

L'octroi ou non de certaines autorisations à un assembly repose sur la preuve. Les règles de fusion des preuves d’assembly et de sécurité sont les suivantes :

  • Lorsque vous utilisez une Load méthode sans Evidence paramètre, l’assembly est chargé avec la preuve que le chargeur fournit.

  • Lorsque vous utilisez une Load méthode avec un Evidence paramètre, les éléments de preuve sont fusionnés. Les éléments de preuve fournis comme argument de la Load méthode remplacent les éléments de preuve fournis par le chargeur.

  • Lorsque vous utilisez une Load surcharge de méthode avec un Byte[] paramètre pour charger une image au format de fichier objet commun (COFF), la preuve est héritée de l’assembly appelant.

  • Lorsque vous utilisez une Load méthode avec un Byte[] paramètre et Evidence pour charger une image COFF, seule la preuve fournie est utilisée. La preuve de l’assembly appelant et la preuve de l’image COFF sont ignorées.

Notes

Si la AssemblyName.Name propriété et la AssemblyName.CodeBase propriété sont définies, la première tentative de chargement de l’assembly utilise le nom d’affichage (y compris la version, la culture, etc., comme retourné par la Assembly.FullName propriété). Si le fichier est introuvable, CodeBase est utilisé pour rechercher l’assembly. Si l’assembly est trouvé à l’aide CodeBasede , le nom d’affichage est mis en correspondance avec l’assembly. Si la correspondance échoue, un FileLoadException est levée.

Si vous appelez la Load méthode plusieurs fois sur le même assembly, mais avec une preuve différente spécifiée, le Common Language Runtime ne lève pas un FileLoadException , car l’égalité et l’intégrité des différentes spécifications de preuves ne peuvent pas être déterminées. La preuve qu’elle réussit en premier est la preuve utilisée.

Voir aussi

S’applique à

Load(Byte[])

Charge l'assembly avec une image au format COFF (Common Object File Format) contenant un assembly émis.

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

Paramètres

rawAssembly
Byte[]

Tableau d'octets qui est une image au format COFF contenant un assembly émis.

Retours

Assembly chargé.

Exceptions

rawAssembly a la valeur null.

rawAssembly n’est pas un assembly valide pour le runtime actuellement chargé.

Remarques

Cette surcharge de méthode crée toujours un nouvel Assembly objet dans son propre contexte de charge isolé.

.NET Framework uniquement : Le niveau d’approbation d’un assembly chargé à l’aide de cette méthode est identique au niveau d’approbation de l’assembly appelant. Pour charger un assembly à partir d’un tableau d’octets avec le niveau d’approbation du domaine d’application, utilisez la surcharge de méthode Load(Byte[], Byte[], SecurityContextSource) . Pour plus d’informations sur l’utilisation de preuves avec surcharges de la Load méthode qui prend des tableaux d’octets, consultez la surcharge de Load(Byte[], Byte[], Evidence) méthode.

S’applique à

Load(String)

Charge un assembly portant le nom spécifié.

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

Paramètres

assemblyString
String

Forme longue ou courte du nom d’assembly.

Retours

Assembly chargé.

Exceptions

assemblyString a la valeur null.

assemblyString est une chaîne de longueur nulle.

assemblyString est introuvable.

Impossible de charger l’un des fichiers trouvés.

assemblyString n’est pas un assembly valide pour le runtime actuellement chargé.

Exemples

L’exemple suivant charge un assembly en fonction de son nom complet et répertorie tous les types contenus dans l’assembly spécifié. Pour plus d’informations sur la façon d’obtenir le nom complet de l’assembly, consultez Noms d’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

Remarques

Pour charger l’assembly correct, il est recommandé d’appeler la Load méthode en transmettant la forme longue du nom de l’assembly. La forme longue d’un nom d’assembly se compose de son nom simple (par exemple, « Système » pour l’assembly System.dll) ainsi que de sa version, de sa culture, de son jeton de clé publique et éventuellement de son architecture de processeur. Il correspond à la propriété de l’assembly FullName . L’exemple suivant illustre l’utilisation d’un nom long pour charger l’assembly System.dll pour .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 est levée si assemblyString spécifie le nom complet de l’assembly et que le premier assembly qui correspond au nom simple a une version, une culture ou un jeton de clé publique différent. Le chargeur ne continue pas à rechercher d’autres assemblys qui correspondent au nom simple.

Dans .NET Framework version 2.0, l’architecture du processeur est ajoutée à l’identité d’assembly et peut être spécifiée dans le cadre de chaînes de noms d’assembly. Par exemple, « ProcessorArchitecture=msil ». Toutefois, la méthode recommandée pour spécifier un nom d’assembly consiste à créer un AssemblyName objet et à le transmettre à une surcharge appropriée de la Load méthode. Consultez AssemblyName.ProcessorArchitecture.

Voir aussi

S’applique à

Load(AssemblyName)

Charge un assembly en fonction de son 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

Paramètres

assemblyRef
AssemblyName

Objet qui décrit l'assembly à charger.

Retours

Assembly chargé.

Exceptions

assemblyRef a la valeur null.

assemblyRef est introuvable.

Impossible de charger l’un des fichiers trouvés.

- ou -

assemblyRef spécifie un assembly distant, mais la possibilité d’exécuter du code dans des assemblys distants est désactivée. Consultez <loadFromRemoteSources>.

Remarque : Dans .NET pour les applications du Windows Store ou la bibliothèque de classes portable, interceptez l’exception de la classe de base, IOException, à la place.

assemblyRef n’est pas un assembly valide pour le runtime actuellement chargé.

Exemples

L’exemple suivant instancie un AssemblyName objet et l’utilise pour charger l’assembly sysglobal.dll . L’exemple affiche ensuite le nom complet des types publics de l’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

Remarques

FileLoadException est levée si assemblyRef spécifie le nom complet de l’assembly et que le premier assembly qui correspond au nom simple a une version, une culture ou un jeton de clé publique différent. Le chargeur ne continue pas à rechercher d’autres assemblys qui correspondent au nom simple. À compter de .NET Framework 4, comme l’exécution de code dans les assemblys distants est désactivée par défaut, un FileLoadException est également levée si assemblyRef spécifie un assembly distant. Pour activer l’exécution du code chargé à partir d’emplacements distants, vous pouvez utiliser l’élément de <loadFromRemoteSources> configuration.

Notes

N’utilisez pas de AssemblyName avec uniquement la CodeBase propriété définie. La CodeBase propriété ne fournit aucun élément de l’identité de l’assembly (par exemple, le nom ou la version), de sorte que le chargement ne se produit pas en fonction des règles de chargement par identité, comme vous pouvez l’attendre de la Load méthode. Au lieu de cela, l’assembly est chargé à l’aide de règles de chargement à partir de . Pour plus d’informations sur les inconvénients de l’utilisation du contexte de chargement à partir de , consultez la Assembly.LoadFrom surcharge de méthode ou Meilleures pratiques pour le chargement d’assemblys.

Notes

Si la AssemblyName.Name propriété et la AssemblyName.CodeBase propriété sont définies, la première tentative de chargement de l’assembly utilise le nom d’affichage (y compris la version, la culture, etc., comme retourné par la Assembly.FullName propriété). Si le fichier est introuvable, CodeBase est utilisé pour rechercher l’assembly. Si l’assembly est trouvé à l’aide CodeBasede , le nom d’affichage est mis en correspondance avec l’assembly. Si la correspondance échoue, un FileLoadException est levée.

Voir aussi

S’applique à

Load(Byte[], Byte[])

Charge l'assembly avec une image COFF (Common Object File Format) contenant un assembly émis qui inclut éventuellement des symboles de 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

Paramètres

rawAssembly
Byte[]

Tableau d'octets qui est une image au format COFF contenant un assembly émis.

rawSymbolStore
Byte[]

Tableau d'octets qui contient les octets bruts représentant les symboles de l'assembly.

Retours

Assembly chargé.

Exceptions

rawAssembly a la valeur null.

rawAssembly n’est pas un assembly valide pour le runtime actuellement chargé.

Remarques

Cette surcharge de méthode crée toujours un nouvel Assembly objet dans son propre contexte de charge isolé.

.NET Framework uniquement : Le niveau d’approbation d’un assembly chargé à l’aide de cette méthode est identique au niveau d’approbation de l’assembly appelant. Pour charger un assembly à partir d’un tableau d’octets avec le niveau d’approbation du domaine d’application, utilisez la surcharge de méthode Load(Byte[], Byte[], SecurityContextSource) . Pour plus d’informations sur l’utilisation de preuves avec surcharges de la Load méthode qui prend des tableaux d’octets, consultez la surcharge de Load(Byte[], Byte[], Evidence) méthode.

S’applique à