Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

AppDomain.Load méthode (AssemblyName)

 

Date de publication : novembre 2016

Charge Assembly en fonction de son AssemblyName.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public Assembly Load(
	AssemblyName assemblyRef
)

Paramètres

assemblyRef
Type: System.Reflection.AssemblyName

Objet qui décrit l'assembly à charger.

Valeur de retour

Type: System.Reflection.Assembly

Assembly chargé.

Exception Condition
ArgumentNullException

assemblyRef a la valeur null.

FileNotFoundException

assemblyRef est introuvable.

BadImageFormatException

assemblyRef n’est pas un assembly valide.

ou

La version 2.0 ou ultérieure du common language runtime est actuellement chargée et assemblyRef a été compilé avec une version ultérieure.

AppDomainUnloadedException

L’opération est tentée sur un domaine d’application non chargé.

FileLoadException

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

Cette méthode doit être utilisée uniquement pour charger un assembly dans le domaine d’application actuel. Cette méthode est fournie par commodité pour les appelants d’interopérabilité qui ne peuvent pas appeler la méthode statique Assembly.Load (méthode). Pour charger des assemblys dans les autres domaines d’application, utilisez une méthode telle que CreateInstanceAndUnwrap.

Si une version de l’assembly demandé est déjà chargée, cette méthode retourne l’assembly chargé, même si une version différente est demandée.

Fournir un nom d’assembly partielles pour assemblyRef n’est pas recommandée. (Un nom partiel omet un ou plusieurs de culture, version ou jeton de clé publique. Pour les surcharges qui prennent une chaîne au lieu d’un AssemblyName objet, « MyAssembly, Version = 1.0.0.0 » est un exemple d’un nom partiel et « MyAssembly, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 18ab3442da84b47 » est un exemple d’un nom complet.) À l’aide de noms partiels a un effet négatif sur les performances. En outre, un nom d’assembly partiel peut charger un assembly dans le global assembly cache uniquement s’il existe une copie exacte de l’assembly dans le répertoire de base d’application (BaseDirectory ou AppDomainSetup.ApplicationBase).

Si le courant AppDomain objet représente le domaine d’application Aet le Load méthode est appelée à partir du domaine d’application B, l’assembly est chargé dans les deux domaines d’application. Par exemple, le code suivant charge MyAssembly dans le nouveau domaine d’application ChildDomain et également dans le domaine d’application où le code s’exécute :

AppDomain ad = AppDomain.CreateDomain("ChildDomain");
ad.Load("MyAssembly");

L’assembly est chargé dans les deux domaines car Assembly ne dérive pas de MarshalByRefObjectet par conséquent, la valeur de retour de la Load méthode ne peut pas être marshalée. Au lieu de cela, le common language runtime tente de charger l’assembly dans le domaine d’application appelant. Les assemblys sont chargés dans les deux domaines d’application peuvent être différents si les paramètres de chemin d’accès pour les deux domaines d’application sont différents.

System_CAPS_noteRemarque

Si les deux le AssemblyName.Name propriété et la AssemblyName.CodeBase sont définies, la première tentative de charger l’assembly utilise le nom complet (y compris la version, culture et ainsi de suite, tel que retourné par le Assembly.FullName propriété). Si le fichier est introuvable, la CodeBase propriété est utilisée pour rechercher l’assembly. Si l’assembly se trouve à l’aide de CodeBase, le nom complet est comparé à l’assembly. Si la correspondance échoue, un FileLoadException est levée.

FileIOPermission

for access to read from a file or directory, and for access to the information in the path itself. Associated enumerations: F:System.Security.Permissions.FileIOPermissionAccess.Read, F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery.

.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: