Assembly.LoadFrom Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Carica un assembly.
Overload
LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) |
Obsoleti.
Carica un assembly in base al nome file o al percorso, all'evidenza di sicurezza, al valore hash e all'algoritmo hash. |
LoadFrom(String, Byte[], AssemblyHashAlgorithm) |
Carica un assembly in base al nome file o al percorso, al valore hash e all'algoritmo hash. |
LoadFrom(String) |
Carica un assembly in base al nome file o al percorso. |
LoadFrom(String, Evidence) |
Obsoleti.
Carica un assembly in base al nome file o al percorso e fornendo l'evidenza di sicurezza. |
Commenti
Solo .NET Framework: Vedere <loadFromRemoteSources>
per il caricamento di assembly da posizioni remote.
LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)
Attenzione
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.
Carica un assembly in base al nome file o al percorso, all'evidenza di sicurezza, al valore hash e all'algoritmo hash.
public:
static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom (string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[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
[<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.")>]
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
Parametri
- assemblyFile
- String
Nome o percorso del file che contiene il manifesto dell'assembly.
- securityEvidence
- Evidence
Evidenza per il caricamento dell'assembly.
- hashValue
- Byte[]
Valore del codice hash calcolato.
- hashAlgorithm
- AssemblyHashAlgorithm
Algoritmo hash usato per generare un hash per i file e generare il nome sicuro.
Restituisce
Assembly caricato.
- Attributi
Eccezioni
assemblyFile
è null
.
L'oggetto assemblyFile
non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.
Non è stato possibile caricare un file trovato.
-oppure-
L'oggetto securityEvidence
non è ambiguo ed è risultato non valido.
-oppure-
assemblyFile
specifica un percorso disabilitato in base al <caricamentoFromRemoteSources>.
assemblyFile
non è un assembly valido per il runtime attualmente caricato; ad esempio, un assembly a 32 bit in un processo a 64 bit.
È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.
Il parametro assemblyFile
è una stringa vuota ("").
Il nome dell'assembly supera la lunghezza massima definita dal sistema.
Commenti
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.
Nota
Il protocollo FTP (File Transfer Protocol) non è supportato. 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.
Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:
Il contesto di carico contiene assembly trovati tramite il test: nella gaC, in un archivio assembly host se il runtime è ospitato o nel ApplicationBase dominio e PrivateBinPath dell'applicazione. La maggior parte degli overload del metodo Load carica gli assembly in questo contesto.
Il carico dal contesto contiene assembly per i quali l'utente ha fornito un percorso non incluso nelle directory di cui è stato eseguito il test. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.
Vedere
<loadFromRemoteSources>
per il caricamento di assembly da posizioni remote.Il contesto di solo reflection contiene assembly caricati con i ReflectionOnlyLoad metodi e ReflectionOnlyLoadFrom . Il codice in questi contesti non può essere eseguito.
Se l'utente ha generato o trovato l'assembly, non è in alcun contesto. Ciò si applica agli assembly caricati usando overload del metodo che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con l'emissione Load di reflection e non vengono salvati su disco.
Il carico dal contesto consente al caricamento di un assembly da un percorso non incluso nel test e consente tuttavia di trovare e caricare le dipendenze su tale percorso perché le informazioni sul percorso vengono mantenute dal contesto.
Il LoadFrom metodo presenta gli svantaggi seguenti. In alternativa, considerare l'utilizzo di Load.
Se è già caricato un assembly con la stessa identità LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.
Se un assembly viene caricato con LoadFrome un assembly successivo nel contesto di carico tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento ha esito negativo. Questa situazione può verificarsi quando un assembly è deserializzato.
Se un assembly viene caricato con LoadFrome il percorso di verifica include un assembly con la stessa identità, ma una posizione diversa, un InvalidCastExceptioncomportamento , MissingMethodExceptiono altro comportamento imprevisto può verificarsi.
LoadFrom richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.
Se esiste un'immagine nativa per
assemblyFile
, non viene usata. Impossibile caricare l'assembly come neutrale del dominio.
Se sussistano o meno le autorizzazioni per l'utilizzo di un assembly lo si evince dalle evidenze. Le regole per l'unione delle prove di sicurezza e assembly sono le seguenti:
Quando si usa un LoadFrom metodo senza Evidence parametro, l'assembly viene caricato con l'evidenza fornita dal caricatore.
Quando si usa un metodo con un LoadFromEvidence parametro, vengono unite parti di evidenza. Parti di prove fornite come argomento al LoadFrom metodo sosede parti di prove fornite dal caricatore.
Se si chiama questo metodo più di una volta nello stesso assembly, ma con un'evidenza diversa specificata, Common Language Runtime non genera un FileLoadException perché non è possibile determinare l'uguaglianza e l'integrità delle diverse specifiche di evidenza. L'evidenza che ha esito positivo è l'evidenza usata.
Quando si usa un metodo con un LoadFrom
Byte[]
parametro per caricare un'immagine COFF (Common Object File Format), l'evidenza viene combinata.Zone
eUrl
Site
vengono ereditati dall'assembly chiamante eHash
StrongName
vengono acquisiti dall'assembly COFF.Quando si usa un metodo con un
Byte[]
parametro e Evidence per caricare un'immagine LoadFrom COFF, viene usata solo l'evidenza fornita. Le prove dell'assembly chiamante e delle prove dell'immagine COFF vengono ignorate.
Si applica a
LoadFrom(String, Byte[], AssemblyHashAlgorithm)
- Origine:
- Assembly.cs
- Origine:
- Assembly.cs
- Origine:
- Assembly.cs
Carica un assembly in base al nome file o al percorso, al valore hash e all'algoritmo hash.
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);
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
Parametri
- assemblyFile
- String
Nome o percorso del file che contiene il manifesto dell'assembly.
- hashValue
- Byte[]
Valore del codice hash calcolato.
- hashAlgorithm
- AssemblyHashAlgorithm
Algoritmo hash usato per generare un hash per i file e generare il nome sicuro.
Restituisce
Assembly caricato.
Eccezioni
Solo .NET Core e .NET 5+: In tutti i casi.
assemblyFile
è null
.
assemblyFile
non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.
Non è stato possibile caricare un file trovato.
-oppure-
assemblyFile
specifica un percorso disabilitato in base al <caricamentoFromRemoteSources>.
assemblyFile
non è un assembly valido per il runtime attualmente caricato; ad esempio, un assembly a 32 bit in un processo a 64 bit.
È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.
Il parametro assemblyFile
è una stringa vuota ("").
Il nome dell'assembly supera la lunghezza massima definita dal sistema.
Commenti
In .NET Core e .NET 5+, questo metodo genera NotSupportedException quando viene chiamato. Usare invece LoadFrom(String).
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.
Nota
Il protocollo FTP (File Transfer Protocol) non è supportato. 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.
Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:
Il contesto di carico contiene assembly trovati tramite il test: nella global assembly cache, in un archivio assembly host se il runtime è ospitato o nel ApplicationBase dominio e PrivateBinPath dell'applicazione. La maggior parte degli overload del metodo Load carica gli assembly in questo contesto.
Il carico dal contesto contiene assembly per i quali l'utente ha fornito un percorso non incluso nel test. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.
Vedere
<loadFromRemoteSources>
per il caricamento di assembly da posizioni remote.Il contesto di solo reflection contiene assembly caricati con i ReflectionOnlyLoad metodi e ReflectionOnlyLoadFrom . Il codice in questi contesti non può essere eseguito.
Se l'utente ha generato o trovato l'assembly, non è in alcun contesto. Ciò si applica agli assembly caricati usando overload del metodo che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con l'emissione Load di reflection e non vengono salvati su disco.
Il carico dal contesto consente al caricamento di un assembly da un percorso non incluso nel test e consente tuttavia di trovare e caricare le dipendenze su tale percorso perché le informazioni sul percorso vengono mantenute dal contesto.
Il LoadFrom metodo presenta gli svantaggi seguenti. In alternativa, considerare l'utilizzo di Load.
Se è già caricato un assembly con la stessa identità LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.
Se un assembly viene caricato con LoadFrome un assembly successivo nel contesto di carico tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento ha esito negativo. Questa situazione può verificarsi quando un assembly è deserializzato.
Se un assembly viene caricato con LoadFrome il percorso di verifica include un assembly con la stessa identità, ma una posizione diversa, un InvalidCastExceptioncomportamento , MissingMethodExceptiono altro comportamento imprevisto può verificarsi.
LoadFrom richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.
Se esiste un'immagine nativa per
assemblyFile
, non viene usata. L'assembly non può essere caricato come modulo indipendente dal dominio.
L'assembly viene caricato con l'evidenza che il caricatore fornisce.
Si applica a
LoadFrom(String)
- Origine:
- Assembly.cs
- Origine:
- Assembly.cs
- Origine:
- Assembly.cs
Carica un assembly in base al nome file o al percorso.
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
Parametri
- assemblyFile
- String
Nome o percorso del file che contiene il manifesto dell'assembly.
Restituisce
Assembly caricato.
Eccezioni
assemblyFile
è null
.
L'oggetto assemblyFile
non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.
Non è stato possibile caricare un file trovato.
-oppure-
Solo .NET Framework: assemblyFile
specifica un percorso disabilitato in base al <caricamentoFromRemoteSources>.
assemblyFile
non è un assembly valido per il runtime attualmente caricato; ad esempio, un assembly a 32 bit in un processo a 64 bit.
È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.
Il parametro assemblyFile
è una stringa vuota ("").
Il nome dell'assembly supera la lunghezza massima definita dal sistema.
Esempio
Nell'esempio seguente viene caricato un assembly con il nome o il percorso del file.
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
Commenti
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.
Nota
Il protocollo FTP (File Transfer Protocol) non è supportato. 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.
Solo .NET Framework: Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:
Il contesto di carico contiene assembly trovati tramite il test: nella gaC, in un archivio assembly host se il runtime è ospitato o nel ApplicationBase dominio e PrivateBinPath dell'applicazione. La maggior parte degli overload del metodo Load carica gli assembly in questo contesto.
Il carico dal contesto contiene assembly per i quali l'utente ha fornito un percorso non incluso nelle directory di cui è stato eseguito il test. Consente inoltre di trovare e caricare le dipendenze su tale percorso perché le informazioni sul percorso vengono mantenute dal contesto. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.
Vedere
<loadFromRemoteSources>
per il caricamento di assembly da posizioni remote.Il contesto di solo reflection contiene assembly caricati con i ReflectionOnlyLoad metodi e ReflectionOnlyLoadFrom . Il codice in questi contesti non può essere eseguito.
Se l'utente ha generato o trovato l'assembly, non è in alcun contesto. Ciò si applica agli assembly caricati usando overload del metodo che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con l'emissione Load di reflection e non vengono salvati su disco.
Il LoadFrom metodo presenta gli svantaggi seguenti. In alternativa, considerare l'utilizzo di Load.
Se un assembly con la stessa identità viene già caricato nel contesto di caricamento, LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.
Un assembly può essere caricato nel contesto di caricamento anche se esiste un assembly con la stessa identità nel contesto di caricamento. L'interoperabilità tra i due assembly non funzionerà, causando errori come InvalidCastException, MissingMethodExceptiono altri comportamenti imprevisti.
La chiamata LoadFrom con una posizione che si trova nel percorso di test caricherà l'assembly nel contesto di carico e non nel contesto di caricamento.
Se viene passato un file di assembly la cui identità viene passata da un criterio di reindirizzamento di associazione a LoadFrom, i criteri verranno applicati e l'assembly verrà caricato dal percorso di prova nel contesto di caricamento.
Se un assembly viene caricato nel contesto di carico e successivamente un assembly nel contesto di carico tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento ha esito negativo. Questa situazione può verificarsi quando un assembly è deserializzato.
LoadFrom richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.
Se esiste un'immagine nativa per
assemblyFile
, non viene usata. Impossibile caricare l'assembly come neutrale del dominio.
Si applica a
LoadFrom(String, Evidence)
Attenzione
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.
Carica un assembly in base al nome file o al percorso e fornendo l'evidenza di sicurezza.
public:
static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence);
public static System.Reflection.Assembly LoadFrom (string assemblyFile, 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 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
[<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.")>]
static member LoadFrom : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence) As Assembly
Parametri
- assemblyFile
- String
Nome o percorso del file che contiene il manifesto dell'assembly.
- securityEvidence
- Evidence
Evidenza per il caricamento dell'assembly.
Restituisce
Assembly caricato.
- Attributi
Eccezioni
assemblyFile
è null
.
L'oggetto assemblyFile
non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.
Non è stato possibile caricare un file trovato.
-oppure-
L'oggetto securityEvidence
non è ambiguo ed è risultato non valido.
-oppure-
assemblyFile
specifica un percorso disabilitato in base al <caricamentoFromRemoteSources>.
assemblyFile
non è un assembly valido per il runtime attualmente caricato; ad esempio, un assembly a 32 bit in un processo a 64 bit.
È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.
Il parametro assemblyFile
è una stringa vuota ("").
Il nome dell'assembly supera la lunghezza massima definita dal sistema.
Commenti
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.
Nota
Il protocollo FTP (File Transfer Protocol) non è supportato. 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.
Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:
Il contesto di carico contiene assembly trovati tramite il test: nella gaC, in un archivio assembly host se il runtime è ospitato o nel ApplicationBase dominio e PrivateBinPath dell'applicazione. La maggior parte degli overload del metodo Load carica gli assembly in questo contesto.
Il carico dal contesto contiene assembly per i quali l'utente ha fornito un percorso non incluso nelle directory di cui è stato eseguito il test. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.
Vedere
<loadFromRemoteSources>
per il caricamento di assembly da posizioni remote.Il contesto di solo reflection contiene assembly caricati con i ReflectionOnlyLoad metodi e ReflectionOnlyLoadFrom . Il codice in questi contesti non può essere eseguito.
Se l'utente ha generato o trovato l'assembly, non è in alcun contesto. Ciò si applica agli assembly caricati usando overload del metodo che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con l'emissione Load di reflection e non vengono salvati su disco.
Il carico dal contesto consente al caricamento di un assembly da un percorso non incluso nel test e consente tuttavia di trovare e caricare le dipendenze su tale percorso perché le informazioni sul percorso vengono mantenute dal contesto.
Il LoadFrom metodo presenta gli svantaggi seguenti. In alternativa, considerare l'utilizzo di Load.
Se è già caricato un assembly con la stessa identità LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.
Se un assembly viene caricato con LoadFrome un assembly successivo nel contesto di carico tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento ha esito negativo. Questa situazione può verificarsi quando un assembly è deserializzato.
Se un assembly viene caricato con LoadFrome il percorso di verifica include un assembly con la stessa identità, ma una posizione diversa, un InvalidCastExceptioncomportamento , MissingMethodExceptiono altro comportamento imprevisto può verificarsi.
LoadFrom richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.
Se esiste un'immagine nativa per
assemblyFile
, non viene usata. Impossibile caricare l'assembly come neutrale del dominio.
Se sussistano o meno le autorizzazioni per l'utilizzo di un assembly lo si evince dalle evidenze. Le regole per l'unione delle prove di sicurezza e assembly sono le seguenti:
Quando si usa un LoadFrom metodo senza Evidence parametro, l'assembly viene caricato con l'evidenza fornita dal caricatore.
Quando si usa un metodo con un LoadFromEvidence parametro, vengono unite parti di evidenza. Parti di prove fornite come argomento al LoadFrom metodo sosede parti di prove fornite dal caricatore.
Se si chiama questo metodo più di una volta nello stesso assembly, ma con un'evidenza diversa specificata, Common Language Runtime non genera un FileLoadException perché non è possibile determinare l'uguaglianza e l'integrità delle diverse specifiche di evidenza. L'evidenza che ha esito positivo è l'evidenza usata.
Quando si usa un metodo con un LoadFrom
Byte[]
parametro per caricare un'immagine COFF (Common Object File Format), l'evidenza viene combinata.Zone
eUrl
Site
vengono ereditati dall'assembly chiamante eHash
StrongName
vengono acquisiti dall'assembly COFF.Quando si usa un metodo con un
Byte[]
parametro e Evidence per caricare un'immagine LoadFrom COFF, viene usata solo l'evidenza fornita. Le prove dell'assembly chiamante e delle prove dell'immagine COFF vengono ignorate.