Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo AppDomain.Load (AssemblyName)

 

Data di pubblicazione: ottobre 2016

Carica Assembly, dato il relativo AssemblyName.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public Assembly Load(
	AssemblyName assemblyRef
)

Parametri

assemblyRef
Type: System.Reflection.AssemblyName

Oggetto che descrive l'assembly da caricare.

Valore restituito

Type: System.Reflection.Assembly

Assembly caricato.

Exception Condition
ArgumentNullException

assemblyRef è null.

FileNotFoundException

assemblyRef non trovata.

BadImageFormatException

assemblyRef non è un assembly valido.

-oppure-

Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e il parametro assemblyRef è stato compilato con una versione successiva.

AppDomainUnloadedException

L'operazione viene tentata in un dominio dell'applicazione non caricato.

FileLoadException

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

Questo metodo deve essere utilizzato solo per caricare un assembly nel dominio applicazione corrente. Questo metodo viene fornito per praticità per i chiamanti di interoperabilità che non è possibile chiamare il metodo statico Assembly.Load metodo. Per caricare gli assembly in altri domini applicazione, utilizzare un metodo, ad esempio CreateInstanceAndUnwrap.

Se è già caricata una versione dell'assembly richiesto, questo metodo restituisce l'assembly caricato, anche se non è necessaria una versione diversa.

Specificare un nome di assembly parziali per assemblyRef non è consigliata. (Un nome parziale omette una o più delle impostazioni cultura, versione o token di chiave pubblica. Di overload che accettano una stringa anziché un AssemblyName oggetto, "MyAssembly, Version = 1.0.0.0" è un esempio di un nome parziale e "MyAssembly, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 18ab3442da84b47" è riportato un esempio di un nome completo.) Utilizzo di nomi parziali ha un effetto negativo sulle prestazioni. Inoltre, un nome di assembly parziali possa caricare un assembly dalla global assembly cache solo se è disponibile una copia esatta dell'assembly nella directory base dell'applicazione (BaseDirectory o AppDomainSetup.ApplicationBase).

Se l'oggetto corrente AppDomain oggetto rappresenta il dominio applicazione Ae Load metodo viene chiamato dal dominio applicazione B, l'assembly viene caricato in entrambi i domini applicazione. Ad esempio, il codice seguente carica MyAssembly nel nuovo dominio applicazione ChildDomain e anche nel dominio applicazione in cui viene eseguito il codice:

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

L'assembly viene caricato in entrambi i domini perché Assembly non deriva da MarshalByRefObjecte pertanto il valore restituito di Load metodo Impossibile effettuare il marshalling. In alternativa, common language runtime tenta di caricare l'assembly nel dominio applicazione chiamante. Gli assembly caricati in due domini applicazione potrebbero essere diversi se le impostazioni del percorso per i due domini applicazione sono diverse.

System_CAPS_noteNota

Se entrambi i AssemblyName.Name proprietà e AssemblyName.CodeBase proprietà sono impostate, il primo tentativo di caricare l'assembly viene utilizzato il nome visualizzato (compreso versione, impostazioni cultura e così via, restituito dal Assembly.FullName proprietà). Se il file non viene trovato, il CodeBase proprietà viene utilizzata per cercare l'assembly. Se l'assembly viene trovato tramite CodeBase, il nome visualizzato viene confrontato con l'assembly. Se la corrispondenza ha esito negativo, un FileLoadException viene generata un'eccezione.

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
Disponibile da 1.1
Torna all'inizio
Mostra: