Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Method

Définition

Charge un assembly.Loads an assembly.

Surcharges

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

Charge un assembly en fonction de son nom de fichier ou de son chemin d'accès, de la preuve de sécurité, de la valeur de hachage et de l'algorithme de hachage.Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm)

Charge un assembly en fonction de son nom de fichier ou de son chemin d'accès, de la valeur de hachage et de l'algorithme de hachage.Loads an assembly given its file name or path, hash value, and hash algorithm.

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

Charge un assembly en fonction de son nom de fichier ou de son chemin d'accès.Loads an assembly given its file name or path.

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

Charge un assembly en fonction de son nom de fichier ou de son chemin d’accès et en fournissant la preuve de sécurité.Loads an assembly given its file name or path and supplying security evidence.

Remarques

À compter de .NET Framework 4, la possibilité d’exécuter du code dans les assemblys chargés à partir d’emplacements distants est désactivée par défaut et l’appel à la LoadFrom méthode lève un FileLoadException.Starting with .NET Framework 4, the ability to execute code in assemblies loaded from remote locations is disabled by default, and the call to the LoadFrom method throws a FileLoadException. Pour charger l’assembly et exécuter son code, vous devez :To load the assembly and execute its code, you must either:

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

Avertissement

Cette API est désormais obsolète.

Charge un assembly en fonction de son nom de fichier ou de son chemin d'accès, de la preuve de sécurité, de la valeur de hachage et de l'algorithme de hachage.Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

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

Paramètres

assemblyFile
String String String String

Nom ou chemin d’accès du fichier qui contient le manifeste d’assembly.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

Preuve de chargement de l'assembly.Evidence for loading the assembly.

hashValue
Byte[]

Valeur du code de hachage calculé.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

Algorithme de hachage utilisé pour hacher les fichiers et pour générer le nom fort.The hash algorithm used for hashing files and for generating the strong name.

Retours

Assembly chargé.The loaded assembly.

Exceptions

assemblyFile est introuvable ou le module que vous essayez de charger ne spécifie pas d’extension de nom de fichier.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Impossible de charger l’un des fichiers trouvés.A file that was found could not be loaded.

ou-or- Le securityEvidence n’est pas ambigu et est considéré comme étant non valide.The securityEvidence is not ambiguous and is determined to be invalid.

ou-or-

La possibilité d’exécuter du code dans des assemblys distants est désactivée.The ability to execute code in remote assemblies is disabled. Consultez <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile n’est pas un assembly valide ; par exemple, un assembly 32 bits dans un processus 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Pour plus d’informations, consultez la rubrique sur les exceptions.See the exception topic for more information.

ou-or- La version 2.0 ou ultérieure du Common Language Runtime est actuellement chargée et assemblyFile a été compilé avec une version ultérieure.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Un code base qui ne commence pas par "file://" a été spécifié sans la WebPermission requise.A codebase that does not start with "file://" was specified without the required WebPermission.

Le paramètre assemblyFile est une chaîne vide ("").The assemblyFile parameter is an empty string ("").

Le nom de l’assembly dépasse la longueur maximale définie par le système.The assembly name exceeds the system-defined maximum length.

Remarques

Le assemblyFile paramètre doit faire référence à un URI sans caractères d’échappement.The assemblyFile parameter must refer to a URI without escape characters. Cette méthode fournit les caractères d’échappement pour tous les caractères non valides dans l’URI.This method supplies escape characters for all invalid characters in the URI.

Notes

Protocole de transfert de fichiers (FTP) n’est pas pris en charge.File transfer protocol (FTP) is not supported. Si l’URI fourni pour assemblyFile est une adresse FTP, l’assembly n’est pas chargé.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Aucune exception n'est levée.No exception is thrown.

assemblyFile peut être absolu ou relatif au répertoire en cours, et l’assembly est chargé dans le domaine de l’appelant.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Les assemblys peuvent être chargés dans un des trois contextes, ou peuvent être chargés sans contexte :Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Le contexte de chargement contient des assemblys trouvés en recherchant : dans le GAC, dans un assembly hôte stocker si le runtime est hébergé, ou dans le ApplicationBase et PrivateBinPath du domaine d’application.The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. La plupart des surcharges de la méthode Load chargent les assemblys dans ce contexte.Most overloads of the Load method load assemblies into this context.

  • Le contexte de chargement contient des assemblys pour lesquels l’utilisateur a fourni un chemin d’accès non inclus dans les répertoires de recherche par la détection.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom et ExecuteAssembly sont des exemples de méthodes qui sont chargées via un chemin.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    En commençant par le .NET Framework 4, si l’URI de assemblyFile spécifie un emplacement distant, le chargement des assemblys sont désactivée par défaut et le LoadFrom méthode lève un FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Pour permettre l’exécution de code chargé à partir d’emplacements distants, vous pouvez utiliser la <loadFromRemoteSources> élément de configuration.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Le contexte de réflexion uniquement contient des assemblys chargés avec le ReflectionOnlyLoad et ReflectionOnlyLoadFrom méthodes ; le code dans ces contextes ne peut pas être exécutées.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si l’utilisateur a généré ou trouvé l’assembly, il n’est pas dans n’importe quel contexte.If the user generated or found the assembly, it is not in any context. Cela s’applique aux assemblys chargés à l’aide de surcharges de la Load méthode qui spécifient un tableau d’octets qui contient un assembly et aux assemblys dynamiques transitoires créés avec la réflexion l’émission et pas enregistré sur le disque.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Le contexte load-from permet à un assembly à charger à partir d’un chemin d’accès non inclus dans la détection et permet cependant de dépendances sur ce chemin d’accès pour trouver et de charger, car les informations de chemin d’accès sont conservées par le contexte.The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

Le LoadFrom méthode présente les inconvénients suivants.The LoadFrom method has the following disadvantages. Utilisez Load à la place.Consider using Load instead.

  • Si un assembly avec la même identité est déjà chargé, LoadFrom retourne l’assembly chargé même si un autre chemin a été spécifié.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un assembly est chargé avec LoadFromet ultérieurement un assembly dans le contexte de chargement essaie de charger le même assembly par nom d’affichage, la tentative de chargement échoue.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Ceci peut se produire quand un assembly est désérialisé.This can occur when an assembly is deserialized.

  • Si un assembly est chargé avec LoadFrom, et le chemin de recherche inclut un assembly avec la même identité mais un emplacement différent, un InvalidCastException, MissingMethodException, ou tout autre comportement inattendu peut se produire.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom demande FileIOPermissionAccess.Read et FileIOPermissionAccess.PathDiscovery, ou WebPermission, sur le chemin spécifié.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si une image native existe pour assemblyFile, il n’est pas utilisé.If a native image exists for assemblyFile, it is not used. L’assembly ne peut pas être chargé comme indépendant du domaine.The assembly cannot be loaded as domain neutral.

  • Dans la version 1.0 et 1.1 du .NET Framework, la stratégie n’est pas appliquée.In the .NET Framework version 1.0 and 1.1, policy is not applied.

L'octroi ou non de certaines autorisations à un assembly repose sur la preuve.Whether certain permissions are granted or not granted to an assembly is based on evidence. Les règles d’assembly et de fusion de preuves de sécurité sont les suivantes :The rules for assembly and security evidence merging are as follows:

  • Lorsque vous utilisez un LoadFrom méthode sans aucune Evidence paramètre, l’assembly est chargé avec la preuve fournie par le chargeur.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • Lorsque vous utilisez un LoadFrom méthode avec un Evidence paramètre, les preuves sont fusionnées.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Preuves fournies en tant qu’argument à la LoadFrom méthode annulent et remplacent les preuves fournies par le chargeur.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Si vous appelez cette méthode plusieurs fois sur le même assembly, mais avec une preuve spécifiée différente, le common language runtime ne lève pas une FileLoadException , car il est impossible de déterminer l’égalité et l’intégrité des différentes spécifications de preuve.If you call this method more than once on the same assembly but with a different evidence specified, the common language runtime does not throw a FileLoadException because the equality and integrity of the different evidence specifications cannot be determined. La première preuve qui réussit est la preuve est utilisée.The evidence that first succeeds is the evidence that is used.

  • Lorsque vous utilisez un LoadFrom méthode avec un Byte[] paramètre pour charger une image common object file format (COFF), la preuve est combinée.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url et Site sont héritées de l’assembly appelant, et Hash et StrongName proviennent de l’assembly COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • Lorsque vous utilisez un LoadFrom méthode avec un Byte[] paramètre et Evidence pour charger une image COFF, seule la preuve fournie est utilisée.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. Preuve de l’assembly appelant et celle de l’image COFF sont ignorés.Evidence of the calling assembly and evidence of the COFF image is ignored.

Sécurité

SecurityPermission
pour charger un assembly avec la preuve.to load an assembly with evidence. Énumération associée : ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
pour lire un URI qui commence par « file:// ».for reading a URI that begins with "file://". Énumération associée : ReadAssociated enumeration: Read

WebPermission
pour lire un URI qui ne commence pas par « file:// ».for reading a URI that does not begin with "file://".

LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm)

Charge un assembly en fonction de son nom de fichier ou de son chemin d'accès, de la valeur de hachage et de l'algorithme de hachage.Loads an assembly given its file name or path, hash value, and hash algorithm.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom (string assemblyFile, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

Paramètres

assemblyFile
String String String String

Nom ou chemin d’accès du fichier qui contient le manifeste d’assembly.The name or path of the file that contains the manifest of the assembly.

hashValue
Byte[]

Valeur du code de hachage calculé.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

Algorithme de hachage utilisé pour hacher les fichiers et pour générer le nom fort.The hash algorithm used for hashing files and for generating the strong name.

Retours

Assembly chargé.The loaded assembly.

Exceptions

assemblyFile est introuvable ou le module que vous essayez de charger ne spécifie pas une extension de nom de fichier.assemblyFile is not found, or the module you are trying to load does not specify a file name extension.

Impossible de charger l’un des fichiers trouvés.A file that was found could not be loaded.

ou-or-

La possibilité d’exécuter du code dans des assemblys distants est désactivée.The ability to execute code in remote assemblies is disabled. Consultez <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile n’est pas un assembly valide ; par exemple, un assembly 32 bits dans un processus 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Pour plus d’informations, consultez la rubrique sur les exceptions.See the exception topic for more information.

ou-or- assemblyFile a été compilé avec une version du Common Language Runtime ultérieure à la version actuellement chargée.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

Un code base qui ne commence pas par "file://" a été spécifié sans la WebPermission requise.A codebase that does not start with "file://" was specified without the required WebPermission.

Le paramètre assemblyFile est une chaîne vide ("").The assemblyFile parameter is an empty string ("").

Le nom de l’assembly dépasse la longueur maximale définie par le système.The assembly name exceeds the system-defined maximum length.

Remarques

Le assemblyFile paramètre doit faire référence à un URI sans caractères d’échappement.The assemblyFile parameter must refer to a URI without escape characters. Cette méthode fournit les caractères d’échappement pour tous les caractères non valides dans l’URI.This method supplies escape characters for all invalid characters in the URI.

Notes

Protocole de transfert de fichiers (FTP) n’est pas pris en charge.File transfer protocol (FTP) is not supported. Si l’URI fourni pour assemblyFile est une adresse FTP, l’assembly n’est pas chargé.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Aucune exception n'est levée.No exception is thrown.

assemblyFile peut être absolu ou relatif au répertoire en cours, et l’assembly est chargé dans le domaine de l’appelant.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Les assemblys peuvent être chargés dans un des trois contextes, ou peuvent être chargés sans contexte :Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Le contexte de chargement contient des assemblys trouvés en recherchant : dans le global assembly cache, dans un assembly hôte stocker si le runtime est hébergé, ou dans le ApplicationBase et PrivateBinPath du domaine d’application.The load context contains assemblies found by probing: in the global assembly cache, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. La plupart des surcharges de la méthode Load chargent les assemblys dans ce contexte.Most overloads of the Load method load assemblies into this context.

  • Le contexte de chargement contient des assemblys pour lesquels l’utilisateur a fourni un chemin d’accès n’est pas inclus dans la recherche.The load-from context contains assemblies for which the user provided a path that is not included in probing. LoadFrom, CreateInstanceFrom et ExecuteAssembly sont des exemples de méthodes qui sont chargées via un chemin.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    En commençant par le .NET Framework 4, si l’URI de assemblyFile spécifie un emplacement distant, le chargement des assemblys sont désactivée par défaut et le LoadFrom méthode lève un FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Pour permettre l’exécution de code chargé à partir d’emplacements distants, vous pouvez utiliser la <loadFromRemoteSources> élément de configuration.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Le contexte de réflexion uniquement contient des assemblys chargés avec le ReflectionOnlyLoad et ReflectionOnlyLoadFrom méthodes ; le code dans ces contextes ne peut pas être exécutées.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si l’utilisateur a généré ou trouvé l’assembly, il n’est pas dans n’importe quel contexte.If the user generated or found the assembly, it is not in any context. Cela s’applique aux assemblys chargés à l’aide de surcharges de la Load méthode qui spécifient un tableau d’octets qui contient un assembly et aux assemblys dynamiques transitoires créés avec la réflexion l’émission et pas enregistré sur le disque.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Le contexte load-from permet à un assembly à charger à partir d’un chemin d’accès n’est pas inclus dans la détection et permet cependant de dépendances sur ce chemin d’accès pour trouver et de charger, car les informations de chemin d’accès sont conservées par le contexte.The load-from context allows an assembly to be loaded from a path that is not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

Le LoadFrom méthode présente les inconvénients suivants.The LoadFrom method has the following disadvantages. Utilisez Load à la place.Consider using Load instead.

  • Si un assembly avec la même identité est déjà chargé, LoadFrom retourne l’assembly chargé même si un autre chemin a été spécifié.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un assembly est chargé avec LoadFromet ultérieurement un assembly dans le contexte de chargement essaie de charger le même assembly par nom d’affichage, la tentative de chargement échoue.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Ceci peut se produire quand un assembly est désérialisé.This can occur when an assembly is deserialized.

  • Si un assembly est chargé avec LoadFrom, et le chemin de recherche inclut un assembly avec la même identité mais un emplacement différent, un InvalidCastException, MissingMethodException, ou tout autre comportement inattendu peut se produire.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom demande FileIOPermissionAccess.Read et FileIOPermissionAccess.PathDiscovery, ou WebPermission, sur le chemin spécifié.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si une image native existe pour assemblyFile, il n’est pas utilisé.If a native image exists for assemblyFile, it is not used. L’assembly ne peut pas être chargé comme étant indépendant du domaine.The assembly cannot be loaded as domain-neutral.

L’assembly est chargé avec la preuve fournie par le chargeur.The assembly is loaded with the evidence that the loader supplies.

Sécurité

SecurityPermission
pour charger un assembly avec la preuve.to load an assembly with evidence. Énumération associée : ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
pour lire un URI qui commence par « file:// ».for reading a URI that begins with "file://". Énumération associée : ReadAssociated enumeration: Read

WebPermission
pour lire un URI qui ne commence pas par « file:// ».for reading a URI that does not begin with "file://".

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

Charge un assembly en fonction de son nom de fichier ou de son chemin d'accès.Loads an assembly given its file name or path.

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

Paramètres

assemblyFile
String String String String

Nom ou chemin d’accès du fichier qui contient le manifeste d’assembly.The name or path of the file that contains the manifest of the assembly.

Retours

Assembly chargé.The loaded assembly.

Exceptions

assemblyFile est introuvable ou le module que vous essayez de charger ne spécifie pas d’extension de nom de fichier.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Impossible de charger l’un des fichiers trouvés.A file that was found could not be loaded.

ou-or-

La possibilité d’exécuter du code dans des assemblys distants est désactivée.The ability to execute code in remote assemblies is disabled. Consultez <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile n’est pas un assembly valide ; par exemple, un assembly 32 bits dans un processus 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Pour plus d’informations, consultez la rubrique sur les exceptions.See the exception topic for more information.

ou-or- La version 2.0 ou ultérieure du Common Language Runtime est actuellement chargée et assemblyFile a été compilé avec une version ultérieure.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Un code base qui ne commence pas par "file://" a été spécifié sans la WebPermission requise.A codebase that does not start with "file://" was specified without the required WebPermission.

Le paramètre assemblyFile est une chaîne vide ("").The assemblyFile parameter is an empty string ("").

Le nom de l’assembly dépasse la longueur maximale définie par le système.The assembly name exceeds the system-defined maximum length.

Exemples

L’exemple suivant charge un assembly en fonction de son nom de fichier ou le chemin d’accès.The following example loads an assembly given its file name or path.

Assembly^ SampleAssembly;
SampleAssembly = Assembly::LoadFrom( "c:\\Sample.Assembly.dll" );
// Obtain a reference to a method known to exist in assembly.
MethodInfo^ Method = SampleAssembly->GetTypes()[ 0 ]->GetMethod( "Method1" );
// Obtain a reference to the parameters collection of the MethodInfo instance.
array<ParameterInfo^>^ Params = Method->GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System::String
//   Position = 0
//   Optional=False
for each ( ParameterInfo^ Param in Params )
{
   Console::WriteLine( "Param= {0}", Param->Name );
   Console::WriteLine( "  Type= {0}", Param->ParameterType );
   Console::WriteLine( "  Position= {0}", Param->Position );
   Console::WriteLine( "  Optional= {0}", Param->IsOptional );
}
Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
// Obtain a reference to a method known to exist in assembly.
MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System.String
//   Position = 0
//   Optional=False
foreach (ParameterInfo Param in Params)
{
    Console.WriteLine("Param=" + Param.Name.ToString());
    Console.WriteLine("  Type=" + Param.ParameterType.ToString());
    Console.WriteLine("  Position=" + Param.Position.ToString());
    Console.WriteLine("  Optional=" + Param.IsOptional.ToString());
}
Dim SampleAssembly As [Assembly]
SampleAssembly = [Assembly].LoadFrom("c:\Sample.Assembly.dll")
' Obtain a reference to a method known to exist in assembly.
Dim Method As MethodInfo = SampleAssembly.GetTypes()(0).GetMethod("Method1")
' Obtain a reference to the parameters collection of the MethodInfo instance.
Dim Params As ParameterInfo() = Method.GetParameters()
' Display information about method parameters.
' Param = sParam1
'   Type = System.String
'   Position = 0
'   Optional=False
For Each Param As ParameterInfo In Params
    Console.WriteLine(("Param=" + Param.Name.ToString()))
    Console.WriteLine(("  Type=" + Param.ParameterType.ToString()))
    Console.WriteLine(("  Position=" + Param.Position.ToString()))
    Console.WriteLine(("  Optional=" + Param.IsOptional.ToString()))
Next 

Remarques

Le assemblyFile paramètre doit faire référence à un URI sans caractères d’échappement.The assemblyFile parameter must refer to a URI without escape characters. Cette méthode fournit les caractères d’échappement pour tous les caractères non valides dans l’URI.This method supplies escape characters for all invalid characters in the URI.

Notes

Protocole de transfert de fichiers (FTP) n’est pas pris en charge.File transfer protocol (FTP) is not supported. Si l’URI fourni pour assemblyFile est une adresse FTP, l’assembly n’est pas chargé.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Aucune exception n'est levée.No exception is thrown.

assemblyFile peut être absolu ou relatif au répertoire en cours, et l’assembly est chargé dans le domaine de l’appelant.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Les assemblys peuvent être chargés dans un des trois contextes, ou peuvent être chargés sans contexte :Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Le contexte de chargement contient des assemblys trouvés en recherchant : dans le GAC, dans un assembly hôte stocker si le runtime est hébergé, ou dans le ApplicationBase et PrivateBinPath du domaine d’application.The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. La plupart des surcharges de la méthode Load chargent les assemblys dans ce contexte.Most overloads of the Load method load assemblies into this context.

  • Le contexte de chargement contient des assemblys pour lesquels l’utilisateur a fourni un chemin d’accès non inclus dans les répertoires de recherche par la détection.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom et ExecuteAssembly sont des exemples de méthodes qui sont chargées via un chemin.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    En commençant par le .NET Framework 4, si l’URI de assemblyFile spécifie un emplacement distant, le chargement des assemblys sont désactivée par défaut et le LoadFrom méthode lève un FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Pour permettre l’exécution de code chargé à partir d’emplacements distants, vous pouvez utiliser la <loadFromRemoteSources> élément de configuration.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Le contexte de réflexion uniquement contient des assemblys chargés avec le ReflectionOnlyLoad et ReflectionOnlyLoadFrom méthodes ; le code dans ces contextes ne peut pas être exécutées.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si l’utilisateur a généré ou trouvé l’assembly, il n’est pas dans n’importe quel contexte.If the user generated or found the assembly, it is not in any context. Cela s’applique aux assemblys chargés à l’aide de surcharges de la Load méthode qui spécifient un tableau d’octets qui contient un assembly et aux assemblys dynamiques transitoires créés avec la réflexion l’émission et pas enregistré sur le disque.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Le contexte load-from permet à un assembly à charger à partir d’un chemin d’accès non inclus dans la détection et permet cependant de dépendances sur ce chemin d’accès pour trouver et de charger, car les informations de chemin d’accès sont conservées par le contexte.The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

Le LoadFrom méthode présente les inconvénients suivants.The LoadFrom method has the following disadvantages. Utilisez Load à la place.Consider using Load instead.

  • Si un assembly avec la même identité est déjà chargé, LoadFrom retourne l’assembly chargé même si un autre chemin a été spécifié.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un assembly est chargé avec LoadFromet ultérieurement un assembly dans le contexte de chargement essaie de charger le même assembly par nom d’affichage, la tentative de chargement échoue.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Cela peut se produire lorsqu’un assembly est désérialisé.This can occur when an assembly is de-serialized.

  • Si un assembly est chargé avec LoadFrom, et le chemin de recherche inclut un assembly avec la même identité mais un emplacement différent, un InvalidCastException, MissingMethodException, ou tout autre comportement inattendu peut se produire.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom demande FileIOPermissionAccess.Read et FileIOPermissionAccess.PathDiscovery, ou WebPermission, sur le chemin spécifié.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si une image native existe pour assemblyFile, il n’est pas utilisé.If a native image exists for assemblyFile, it is not used. L’assembly ne peut pas être chargé comme indépendant du domaine.The assembly cannot be loaded as domain neutral.

  • Dans la version 1.0 et 1.1 du .NET Framework, la stratégie n’est pas appliquée.In the .NET Framework version 1.0 and 1.1, policy is not applied.

Sécurité

FileIOPermission
pour lire un URI qui commence par « file:// ».for reading a URI that begins with "file://". Énumération associée : ReadAssociated enumeration: Read

WebPermission
pour lire un URI qui ne commence pas par « file:// ».for reading a URI that does not begin with "file://".

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

Avertissement

Cette API est désormais obsolète.

Charge un assembly en fonction de son nom de fichier ou de son chemin d’accès et en fournissant la preuve de sécurité.Loads an assembly given its file name or path and supplying security evidence.

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

Paramètres

assemblyFile
String String String String

Nom ou chemin d’accès du fichier qui contient le manifeste d’assembly.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

Preuve de chargement de l'assembly.Evidence for loading the assembly.

Retours

Assembly chargé.The loaded assembly.

Exceptions

assemblyFile est introuvable ou le module que vous essayez de charger ne spécifie pas d’extension de nom de fichier.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Impossible de charger l’un des fichiers trouvés.A file that was found could not be loaded.

ou-or- Le securityEvidence n’est pas ambigu et est considéré comme étant non valide.The securityEvidence is not ambiguous and is determined to be invalid.

ou-or-

La possibilité d’exécuter du code dans des assemblys distants est désactivée.The ability to execute code in remote assemblies is disabled. Consultez <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile n’est pas un assembly valide ; par exemple, un assembly 32 bits dans un processus 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Pour plus d’informations, consultez la rubrique sur les exceptions.See the exception topic for more information.

ou-or- La version 2.0 ou ultérieure du Common Language Runtime est actuellement chargée et assemblyFile a été compilé avec une version ultérieure.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Un code base qui ne commence pas par "file://" a été spécifié sans la WebPermission requise.A codebase that does not start with "file://" was specified without the required WebPermission.

Le paramètre assemblyFile est une chaîne vide ("").The assemblyFile parameter is an empty string ("").

Le nom de l’assembly dépasse la longueur maximale définie par le système.The assembly name exceeds the system-defined maximum length.

Remarques

Le assemblyFile paramètre doit faire référence à un URI sans caractères d’échappement.The assemblyFile parameter must refer to a URI without escape characters. Cette méthode fournit les caractères d’échappement pour tous les caractères non valides dans l’URI.This method supplies escape characters for all invalid characters in the URI.

Notes

Protocole de transfert de fichiers (FTP) n’est pas pris en charge.File transfer protocol (FTP) is not supported. Si l’URI fourni pour assemblyFile est une adresse FTP, l’assembly n’est pas chargé.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Aucune exception n'est levée.No exception is thrown.

assemblyFile peut être absolu ou relatif au répertoire en cours, et l’assembly est chargé dans le domaine de l’appelant.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Les assemblys peuvent être chargés dans un des trois contextes, ou peuvent être chargés sans contexte :Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Le contexte de chargement contient des assemblys trouvés en recherchant : dans le GAC, dans un assembly hôte stocker si le runtime est hébergé, ou dans le ApplicationBase et PrivateBinPath du domaine d’application.The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. La plupart des surcharges de la méthode Load chargent les assemblys dans ce contexte.Most overloads of the Load method load assemblies into this context.

  • Le contexte de chargement contient des assemblys pour lesquels l’utilisateur a fourni un chemin d’accès non inclus dans les répertoires de recherche par la détection.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom et ExecuteAssembly sont des exemples de méthodes qui sont chargées via un chemin.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    En commençant par le .NET Framework 4, si l’URI de assemblyFile spécifie un emplacement distant, le chargement des assemblys sont désactivée par défaut et le LoadFrom méthode lève un FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Pour permettre l’exécution de code chargé à partir d’emplacements distants, vous pouvez utiliser la <loadFromRemoteSources> élément de configuration.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Le contexte de réflexion uniquement contient des assemblys chargés avec le ReflectionOnlyLoad et ReflectionOnlyLoadFrom méthodes ; le code dans ces contextes ne peut pas être exécutées.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si l’utilisateur a généré ou trouvé l’assembly, il n’est pas dans n’importe quel contexte.If the user generated or found the assembly, it is not in any context. Cela s’applique aux assemblys chargés à l’aide de surcharges de la Load méthode qui spécifient un tableau d’octets qui contient un assembly et aux assemblys dynamiques transitoires créés avec la réflexion l’émission et pas enregistré sur le disque.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Le contexte load-from permet à un assembly à charger à partir d’un chemin d’accès non inclus dans la détection et permet cependant de dépendances sur ce chemin d’accès pour trouver et de charger, car les informations de chemin d’accès sont conservées par le contexte.The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

Le LoadFrom méthode présente les inconvénients suivants.The LoadFrom method has the following disadvantages. Utilisez Load à la place.Consider using Load instead.

  • Si un assembly avec la même identité est déjà chargé, LoadFrom retourne l’assembly chargé même si un autre chemin a été spécifié.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un assembly est chargé avec LoadFromet ultérieurement un assembly dans le contexte de chargement essaie de charger le même assembly par nom d’affichage, la tentative de chargement échoue.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Ceci peut se produire quand un assembly est désérialisé.This can occur when an assembly is deserialized.

  • Si un assembly est chargé avec LoadFrom, et le chemin de recherche inclut un assembly avec la même identité mais un emplacement différent, un InvalidCastException, MissingMethodException, ou tout autre comportement inattendu peut se produire.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom demande FileIOPermissionAccess.Read et FileIOPermissionAccess.PathDiscovery, ou WebPermission, sur le chemin spécifié.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si une image native existe pour assemblyFile, il n’est pas utilisé.If a native image exists for assemblyFile, it is not used. L’assembly ne peut pas être chargé comme indépendant du domaine.The assembly cannot be loaded as domain neutral.

  • Dans la version 1.0 et 1.1 du .NET Framework, la stratégie n’est pas appliquée.In the .NET Framework version 1.0 and 1.1, policy is not applied.

L'octroi ou non de certaines autorisations à un assembly repose sur la preuve.Whether certain permissions are granted or not granted to an assembly is based on evidence. Les règles d’assembly et de fusion de preuves de sécurité sont les suivantes :The rules for assembly and security evidence merging are as follows:

  • Lorsque vous utilisez un LoadFrom méthode sans aucune Evidence paramètre, l’assembly est chargé avec la preuve fournie par le chargeur.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • Lorsque vous utilisez un LoadFrom méthode avec un Evidence paramètre, les preuves sont fusionnées.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Preuves fournies en tant qu’argument à la LoadFrom méthode annulent et remplacent les preuves fournies par le chargeur.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Si vous appelez cette méthode plusieurs fois sur le même assembly, mais avec une preuve spécifiée différente, le common language runtime ne lève pas une FileLoadException , car il est impossible de déterminer l’égalité et l’intégrité des différentes spécifications de preuve.If you call this method more than once on the same assembly but with a different evidence specified, the common language runtime does not throw a FileLoadException because the equality and integrity of the different evidence specifications cannot be determined. La première preuve qui réussit est la preuve est utilisée.The evidence that first succeeds is the evidence that is used.

  • Lorsque vous utilisez un LoadFrom méthode avec un Byte[] paramètre pour charger une image common object file format (COFF), la preuve est combinée.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url et Site sont héritées de l’assembly appelant, et Hash et StrongName proviennent de l’assembly COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • Lorsque vous utilisez un LoadFrom méthode avec un Byte[] paramètre et Evidence pour charger une image COFF, seule la preuve fournie est utilisée.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. Preuve de l’assembly appelant et celle de l’image COFF sont ignorés.Evidence of the calling assembly and evidence of the COFF image is ignored.

Sécurité

SecurityPermission
pour charger un assembly avec la preuve.to load an assembly with evidence. Énumération associée : ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
pour lire un URI qui commence par « file:// ».for reading a URI that begins with "file://". Énumération associée : ReadAssociated enumeration: Read

WebPermission
pour lire un URI qui ne commence pas par « file:// ».for reading a URI that does not begin with "file://".

Voir aussi

S’applique à