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 Assembly.LoadFrom (String, Byte[], AssemblyHashAlgorithm)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Carica un assembly in base al nome file o al percorso, al valore hash e all'algoritmo hash.

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

public static Assembly LoadFrom(
	string assemblyFile,
	byte[] hashValue,
	AssemblyHashAlgorithm hashAlgorithm
)

Parametri

assemblyFile
Type: System.String

Nome o percorso del file che contiene il manifesto dell'assembly.

hashValue
Type: System.Byte[]

Valore del codice hash calcolato.

hashAlgorithm
Type: System.Configuration.Assemblies.AssemblyHashAlgorithm

Algoritmo hash usato per generare un hash per i file e generare il nome sicuro.

Valore restituito

Type: System.Reflection.Assembly

Assembly caricato.

Exception Condition
ArgumentNullException

assemblyFile è null.

FileNotFoundException

assemblyFile non è stato trovato oppure il modulo che si sta tentando di caricare non specifica un'estensione di file.

FileLoadException

Non è possibile caricare un file che non è stato trovato.

BadImageFormatException

assemblyFile non è un assembly valido, ad esempio un assembly a 32 bit in un processo a 64 bit. Per altre informazioni, vedere l'argomento relativo alle eccezioni.

-oppure-

assemblyFile è stato compilato con una versione successiva di Common Language Runtime rispetto alla versione attualmente caricata.

SecurityException

Una codebase che non inizia con "file://" è stata specificata senza la classe WebPermission necessaria.

ArgumentException

Il parametro assemblyFile è una stringa vuota ("").

PathTooLongException

La lunghezza del nome dell'assembly supera il numero di caratteri specificato da MAX_PATH.

Il assemblyFile parametro deve fare riferimento a un URI senza caratteri di escape. Questo metodo fornisce caratteri di escape per tutti i caratteri non validi nell'URI.

System_CAPS_noteNota

File transfer protocol (FTP) non è supportata. Se l'URI fornito per assemblyFile è un indirizzo FTP, l'assembly non viene caricato. Non viene generata alcuna eccezione.

assemblyFile può essere assoluto o relativo alla directory corrente e l'assembly viene caricato nel dominio del chiamante.

Gli assembly possono essere caricati in uno dei tre contesti, o possono essere caricati senza contesto:

  • Il contesto di caricamento contiene assembly trovati tramite sondaggio: nella global assembly cache, archiviare in un assembly host se è ospitato il runtime o nel ApplicationBase e PrivateBinPath del dominio dell'applicazione. La maggior parte degli overload di Load assembly carico metodo in questo contesto.

  • Il contesto di caricamento contiene gli assembly per cui l'utente ha fornito un percorso che non è incluso nel sondaggio. LoadFrom, CreateInstanceFrom, e ExecuteAssembly sono esempi di metodi che caricano tramite percorso.

  • Contesto reflection-only contiene gli assembly caricati con il ReflectionOnlyLoad e ReflectionOnlyLoadFrom metodi; codice in questi contesti non possono essere eseguiti.

  • Se viene generato o trovata l'assembly, non è in qualsiasi contesto. Si applica agli assembly caricati utilizzando overload di Load metodo che specificano una matrice di byte contenente un assembly e per gli assembly dinamici temporanei creati con reflection emit e non salvati su disco.

Il contesto di caricamento consente a un assembly devono essere caricati da un percorso che non è incluso nel sondaggio e consente ancora di dipendenze in tale percorso di trovare e caricare le informazioni sul percorso viene mantenute dal contesto.

Il LoadFrom metodo presenta gli svantaggi seguenti. In alternativa, considerare l'utilizzo di Load.

  • Se un assembly con la stessa identità è già caricato, LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.

  • Se un assembly viene caricato con LoadFrom, e successivamente un assembly nel contesto di caricamento tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento ha esito negativo. Ciò può verificarsi quando un assembly viene deserializzato.

  • Se un assembly viene caricato con LoadFrom, e il percorso di sondaggio include un assembly con un percorso diverso, ma la stessa identità di un InvalidCastException, MissingMethodException, o altri comportamenti imprevisti.

  • LoadFrom richieste FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery, o WebPermission, nel percorso specificato.

  • Se esiste un'immagine nativa per assemblyFile, non viene utilizzato. Impossibile caricare l'assembly come indipendenti dal dominio.

L'assembly viene caricato con l'evidenza fornita dal caricamento.

SecurityPermission

to load an assembly with evidence. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.ControlEvidence

FileIOPermission

for reading a URI that begins with "file://". Associated enumeration: F:System.Security.Permissions.FileIOPermissionAccess.Read

WebPermission

for reading a URI that does not begin with "file://".

.NET Framework
Disponibile da 4.0
Torna all'inizio
Mostra: