Assembly.LoadFrom Metodo

Definizione

Carica un assembly.Loads an assembly.

Overload

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

Carica un assembly in base al nome file o al percorso, all'evidenza di sicurezza, al valore hash e all'algoritmo hash.Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

LoadFrom(String, Byte[], AssemblyHashAlgorithm)

Carica un assembly in base al nome file o al percorso, al valore hash e all'algoritmo hash.Loads an assembly given its file name or path, hash value, and hash algorithm.

LoadFrom(String)

Carica un assembly in base al nome file o al percorso.Loads an assembly given its file name or path.

LoadFrom(String, Evidence)

Carica un assembly in base al nome file o al percorso e fornendo l'evidenza di sicurezza.Loads an assembly given its file name or path and supplying security evidence.

Commenti

A partire da .NET Framework 4, la possibilità di eseguire il codice negli assembly caricati da percorsi remoti è disabilitata per impostazione predefinita e la chiamata al metodo LoadFrom genera 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. Per caricare l'assembly ed eseguire il codice, è necessario eseguire una delle operazioni seguenti:To load the assembly and execute its code, you must either:

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

Avviso

Questa API è ora obsoleta.

Carica un assembly in base al nome file o al percorso, all'evidenza di sicurezza, al valore hash e all'algoritmo hash.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 https://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

Parametri

assemblyFile
String

Nome o percorso del file che contiene il manifesto dell'assembly.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence

Evidenza per il caricamento dell'assembly.Evidence for loading the assembly.

hashValue
Byte[]

Valore del codice hash calcolato.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Algoritmo hash usato per generare un hash per i file e generare il nome sicuro.The hash algorithm used for hashing files and for generating the strong name.

Restituisce

Assembly caricato.The loaded assembly.

Attributi

Eccezioni

assemblyFile è null.assemblyFile is null.

L'oggetto assemblyFile non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Non è stato possibile caricare un file trovato.A file that was found could not be loaded.

-oppure--or- L'oggetto securityEvidence non è ambiguo ed è risultato non valido.The securityEvidence is not ambiguous and is determined to be invalid.

-oppure--or-

La possibilità di eseguire codice negli assembly remoto è disabilitata.The ability to execute code in remote assemblies is disabled. Vedere <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile non è un assembly valido, ad esempio un assembly a 32 bit in un processo a 64 bit.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Per altre informazioni, vedere l'argomento relativo alle eccezioni.See the exception topic for more information.

-oppure--or- Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e l'oggetto assemblyFile è stato compilato con una versione successiva.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.A codebase that does not start with "file://" was specified without the required WebPermission.

Il parametro assemblyFile è una stringa vuota ("").The assemblyFile parameter is an empty string ("").

Il nome dell'assembly supera la lunghezza massima definita dal sistema.The assembly name exceeds the system-defined maximum length.

Commenti

Il assemblyFile parametro deve fare riferimento a un URI senza caratteri di escape.The assemblyFile parameter must refer to a URI without escape characters. Questo metodo fornisce caratteri di escape per tutti i caratteri non validi nell'URI.This method supplies escape characters for all invalid characters in the URI.

Nota

Il protocollo FTP (file Transfer Protocol) non è supportato.File transfer protocol (FTP) is not supported. Se l'URI specificato per assemblyFile è un indirizzo FTP, l'assembly non viene caricato.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Non viene generata alcuna eccezione.No exception is thrown.

assemblyFile può essere assoluto o relativo rispetto alla directory corrente e l'assembly viene caricato nel dominio del chiamante.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Il contesto di caricamento contiene gli assembly individuati da Probe: nella GAC, in un archivio di assembly host se il runtime è ospitato o nel ApplicationBase e PrivateBinPath del dominio dell'applicazione.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 maggior parte degli overload del metodo Load carica gli assembly in questo contesto.Most overloads of the Load method load assemblies into this context.

  • Il contesto di caricamento da contiene assembly per i quali l'utente ha fornito un percorso non incluso nelle directory in cui viene eseguita la ricerca tramite probe.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partire da .NET Framework 4, se l'URI di assemblyFile specifica una posizione remota, il caricamento dell'assembly è disabilitato per impostazione predefinita e il metodo LoadFrom genera una 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. Per consentire l'esecuzione del codice caricato da posizioni remote, è possibile usare l'elemento di configurazione <loadFromRemoteSources> .To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Il contesto di sola reflection contiene gli assembly caricati con i metodi ReflectionOnlyLoad e ReflectionOnlyLoadFrom. non è possibile eseguire il codice in questi contesti.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Se l'utente ha generato o trovato l'assembly, non si trova in alcun contesto.If the user generated or found the assembly, it is not in any context. Si applica agli assembly caricati usando gli overload del metodo Load che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con la reflection emit e non salvati su disco.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.

Il contesto di caricamento da consente il caricamento di un assembly da un percorso non incluso in Probe, ma consente di trovare e caricare le dipendenze da tale percorso perché le informazioni sul percorso vengono gestite dal contesto.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.

Il metodo LoadFrom presenta gli svantaggi seguenti.The LoadFrom method has the following disadvantages. In alternativa, considerare l'utilizzo di Load.Consider using Load instead.

  • Se è già caricato un assembly con la stessa identità LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Se un assembly viene caricato con LoadFrome in un secondo momento un assembly nel contesto di caricamento tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento avrà esito negativo.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. Questa situazione può verificarsi quando un assembly è deserializzato.This can occur when an assembly is deserialized.

  • Se un assembly viene caricato con LoadFrome il percorso di probe include un assembly con la stessa identità ma una posizione diversa, può verificarsi un InvalidCastException, un MissingMethodExceptiono un altro comportamento imprevisto.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 richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Se un'immagine nativa esiste per assemblyFile, non viene utilizzata.If a native image exists for assemblyFile, it is not used. Non è possibile caricare l'assembly come indipendente dal dominio.The assembly cannot be loaded as domain neutral.

  • In .NET Framework versione 1,0 e 1,1, i criteri non vengono applicati.In the .NET Framework version 1.0 and 1.1, policy is not applied.

Se sussistano o meno le autorizzazioni per l'utilizzo di un assembly lo si evince dalle evidenze.Whether certain permissions are granted or not granted to an assembly is based on evidence. Di seguito sono riportate le regole per l'Unione delle evidenze di assembly e sicurezza:The rules for assembly and security evidence merging are as follows:

  • Quando si usa un LoadFrom metodo senza Evidence parametro, l'assembly viene caricato con l'evidenza fornita dal caricatore.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • Quando si usa un metodo di LoadFrom con un parametro di Evidence, vengono uniti elementi di evidenza.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Parti di evidenza fornite come argomento al metodo LoadFrom sostituiscono le parti di evidenza fornite dal caricatore.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Se si chiama questo metodo più di una volta nello stesso assembly ma con un'altra evidenza specificata, il Common Language Runtime non genera un'FileLoadException perché non è possibile determinare l'uguaglianza e l'integrità delle diverse specifiche di evidenza.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. L'evidenza che ha prima esito positivo è l'evidenza che viene utilizzata.The evidence that first succeeds is the evidence that is used.

  • Quando si usa un metodo di LoadFrom con un parametro Byte[] per caricare un'immagine di Common Object File Format (COFF), l'evidenza viene combinata.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url e Site vengono ereditati dall'assembly chiamante e Hash e StrongName vengono ricavati dall'assembly COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • Quando si utilizza un metodo di LoadFrom con un parametro di Byte[] e Evidence per caricare un'immagine COFF, viene utilizzata solo l'evidenza fornita.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. L'evidenza dell'assembly chiamante e dell'evidenza dell'immagine COFF viene ignorata.Evidence of the calling assembly and evidence of the COFF image is ignored.

Sicurezza

SecurityPermission
per caricare un assembly con evidenze.to load an assembly with evidence. Enumerazione associata: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
per la lettura di un URI che inizia con "file://".for reading a URI that begins with "file://". Enumerazione associata: ReadAssociated enumeration: Read

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

LoadFrom(String, Byte[], AssemblyHashAlgorithm)

Carica un assembly in base al nome file o al percorso, al valore hash e all'algoritmo hash.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

Parametri

assemblyFile
String

Nome o percorso del file che contiene il manifesto dell'assembly.The name or path of the file that contains the manifest of the assembly.

hashValue
Byte[]

Valore del codice hash calcolato.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Algoritmo hash usato per generare un hash per i file e generare il nome sicuro.The hash algorithm used for hashing files and for generating the strong name.

Restituisce

Assembly caricato.The loaded assembly.

Eccezioni

assemblyFile è null.assemblyFile is null.

assemblyFile non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.assemblyFile is not found, or the module you are trying to load does not specify a file name extension.

Non è stato possibile caricare un file trovato.A file that was found could not be loaded.

-oppure--or-

La possibilità di eseguire codice negli assembly remoto è disabilitata.The ability to execute code in remote assemblies is disabled. Vedere <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile non è un assembly valido, ad esempio un assembly a 32 bit in un processo a 64 bit.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Per altre informazioni, vedere l'argomento relativo alle eccezioni.See the exception topic for more information.

-oppure--or- assemblyFile è stato compilato con una versione successiva di Common Language Runtime rispetto alla versione attualmente caricata.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.A codebase that does not start with "file://" was specified without the required WebPermission.

Il parametro assemblyFile è una stringa vuota ("").The assemblyFile parameter is an empty string ("").

Il nome dell'assembly supera la lunghezza massima definita dal sistema.The assembly name exceeds the system-defined maximum length.

Commenti

Il assemblyFile parametro deve fare riferimento a un URI senza caratteri di escape.The assemblyFile parameter must refer to a URI without escape characters. Questo metodo fornisce caratteri di escape per tutti i caratteri non validi nell'URI.This method supplies escape characters for all invalid characters in the URI.

Nota

Il protocollo FTP (file Transfer Protocol) non è supportato.File transfer protocol (FTP) is not supported. Se l'URI specificato per assemblyFile è un indirizzo FTP, l'assembly non viene caricato.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Non viene generata alcuna eccezione.No exception is thrown.

assemblyFile può essere assoluto o relativo rispetto alla directory corrente e l'assembly viene caricato nel dominio del chiamante.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Il contesto di caricamento contiene gli assembly trovati da Probe: nel Global Assembly Cache, in un archivio di assembly host se il runtime è ospitato o nel ApplicationBase e PrivateBinPath del dominio dell'applicazione.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 maggior parte degli overload del metodo Load carica gli assembly in questo contesto.Most overloads of the Load method load assemblies into this context.

  • Il contesto di caricamento da contiene assembly per i quali l'utente ha fornito un percorso non incluso in Probe.The load-from context contains assemblies for which the user provided a path that is not included in probing. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partire da .NET Framework 4, se l'URI di assemblyFile specifica una posizione remota, il caricamento dell'assembly è disabilitato per impostazione predefinita e il metodo LoadFrom genera una 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. Per consentire l'esecuzione del codice caricato da posizioni remote, è possibile usare l'elemento di configurazione <loadFromRemoteSources> .To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Il contesto di sola reflection contiene gli assembly caricati con i metodi ReflectionOnlyLoad e ReflectionOnlyLoadFrom. non è possibile eseguire il codice in questi contesti.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Se l'utente ha generato o trovato l'assembly, non si trova in alcun contesto.If the user generated or found the assembly, it is not in any context. Si applica agli assembly caricati usando gli overload del metodo Load che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con la reflection emit e non salvati su disco.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.

Il contesto di caricamento dal contesto consente il caricamento di un assembly da un percorso non incluso in Probe, ma consente di trovare e caricare le dipendenze da tale percorso perché le informazioni sul percorso vengono gestite dal contesto.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.

Il metodo LoadFrom presenta gli svantaggi seguenti.The LoadFrom method has the following disadvantages. In alternativa, considerare l'utilizzo di Load.Consider using Load instead.

  • Se è già caricato un assembly con la stessa identità LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Se un assembly viene caricato con LoadFrome in un secondo momento un assembly nel contesto di caricamento tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento avrà esito negativo.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. Questa situazione può verificarsi quando un assembly è deserializzato.This can occur when an assembly is deserialized.

  • Se un assembly viene caricato con LoadFrome il percorso di probe include un assembly con la stessa identità ma una posizione diversa, può verificarsi un InvalidCastException, un MissingMethodExceptiono un altro comportamento imprevisto.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 richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Se un'immagine nativa esiste per assemblyFile, non viene utilizzata.If a native image exists for assemblyFile, it is not used. L'assembly non può essere caricato come modulo indipendente dal dominio.The assembly cannot be loaded as domain-neutral.

L'assembly viene caricato con l'evidenza fornita dal caricatore.The assembly is loaded with the evidence that the loader supplies.

Sicurezza

SecurityPermission
per caricare un assembly con evidenze.to load an assembly with evidence. Enumerazione associata: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
per la lettura di un URI che inizia con "file://".for reading a URI that begins with "file://". Enumerazione associata: ReadAssociated enumeration: Read

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

LoadFrom(String)

Carica un assembly in base al nome file o al percorso.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

Parametri

assemblyFile
String

Nome o percorso del file che contiene il manifesto dell'assembly.The name or path of the file that contains the manifest of the assembly.

Restituisce

Assembly caricato.The loaded assembly.

Eccezioni

assemblyFile è null.assemblyFile is null.

L'oggetto assemblyFile non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Non è stato possibile caricare un file trovato.A file that was found could not be loaded.

-oppure--or-

La possibilità di eseguire codice negli assembly remoto è disabilitata.The ability to execute code in remote assemblies is disabled. Vedere <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile non è un assembly valido, ad esempio un assembly a 32 bit in un processo a 64 bit.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Per altre informazioni, vedere l'argomento relativo alle eccezioni.See the exception topic for more information.

-oppure--or- Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e l'oggetto assemblyFile è stato compilato con una versione successiva.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.A codebase that does not start with "file://" was specified without the required WebPermission.

Il parametro assemblyFile è una stringa vuota ("").The assemblyFile parameter is an empty string ("").

Il nome dell'assembly supera la lunghezza massima definita dal sistema.The assembly name exceeds the system-defined maximum length.

Esempi

Nell'esempio seguente viene caricato un assembly in base al nome o al percorso del file.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 

Commenti

Il assemblyFile parametro deve fare riferimento a un URI senza caratteri di escape.The assemblyFile parameter must refer to a URI without escape characters. Questo metodo fornisce caratteri di escape per tutti i caratteri non validi nell'URI.This method supplies escape characters for all invalid characters in the URI.

Nota

Il protocollo FTP (file Transfer Protocol) non è supportato.File transfer protocol (FTP) is not supported. Se l'URI specificato per assemblyFile è un indirizzo FTP, l'assembly non viene caricato.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Non viene generata alcuna eccezione.No exception is thrown.

assemblyFile può essere assoluto o relativo rispetto alla directory corrente e l'assembly viene caricato nel dominio del chiamante.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Il contesto di caricamento contiene gli assembly individuati da Probe: nella GAC, in un archivio di assembly host se il runtime è ospitato o nel ApplicationBase e PrivateBinPath del dominio dell'applicazione.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 maggior parte degli overload del metodo Load carica gli assembly in questo contesto.Most overloads of the Load method load assemblies into this context.

  • Il contesto di caricamento da contiene assembly per i quali l'utente ha fornito un percorso non incluso nelle directory in cui viene eseguita la ricerca tramite probe.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partire da .NET Framework 4, se l'URI di assemblyFile specifica una posizione remota, il caricamento dell'assembly è disabilitato per impostazione predefinita e il metodo LoadFrom genera una 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. Per consentire l'esecuzione del codice caricato da posizioni remote, è possibile usare l'elemento di configurazione <loadFromRemoteSources> .To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Il contesto di sola reflection contiene gli assembly caricati con i metodi ReflectionOnlyLoad e ReflectionOnlyLoadFrom. non è possibile eseguire il codice in questi contesti.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Se l'utente ha generato o trovato l'assembly, non si trova in alcun contesto.If the user generated or found the assembly, it is not in any context. Si applica agli assembly caricati usando gli overload del metodo Load che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con la reflection emit e non salvati su disco.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.

Il contesto di caricamento da consente il caricamento di un assembly da un percorso non incluso in Probe, ma consente di trovare e caricare le dipendenze da tale percorso perché le informazioni sul percorso vengono gestite dal contesto.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.

Il metodo LoadFrom presenta gli svantaggi seguenti.The LoadFrom method has the following disadvantages. In alternativa, considerare l'utilizzo di Load.Consider using Load instead.

  • Se è già caricato un assembly con la stessa identità LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Se un assembly viene caricato con LoadFrome in un secondo momento un assembly nel contesto di caricamento tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento avrà esito negativo.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. Questo problema può verificarsi quando viene deserializzato un assembly.This can occur when an assembly is de-serialized.

  • Se un assembly viene caricato con LoadFrome il percorso di probe include un assembly con la stessa identità ma una posizione diversa, può verificarsi un InvalidCastException, un MissingMethodExceptiono un altro comportamento imprevisto.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 richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Se un'immagine nativa esiste per assemblyFile, non viene utilizzata.If a native image exists for assemblyFile, it is not used. Non è possibile caricare l'assembly come indipendente dal dominio.The assembly cannot be loaded as domain neutral.

  • In .NET Framework versione 1,0 e 1,1, i criteri non vengono applicati.In the .NET Framework version 1.0 and 1.1, policy is not applied.

Sicurezza

FileIOPermission
per la lettura di un URI che inizia con "file://".for reading a URI that begins with "file://". Enumerazione associata: ReadAssociated enumeration: Read

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

LoadFrom(String, Evidence)

Avviso

Questa API è ora obsoleta.

Carica un assembly in base al nome file o al percorso e fornendo l'evidenza di sicurezza.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 https://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

Parametri

assemblyFile
String

Nome o percorso del file che contiene il manifesto dell'assembly.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence

Evidenza per il caricamento dell'assembly.Evidence for loading the assembly.

Restituisce

Assembly caricato.The loaded assembly.

Attributi

Eccezioni

assemblyFile è null.assemblyFile is null.

L'oggetto assemblyFile non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Non è stato possibile caricare un file trovato.A file that was found could not be loaded.

-oppure--or- L'oggetto securityEvidence non è ambiguo ed è risultato non valido.The securityEvidence is not ambiguous and is determined to be invalid.

-oppure--or-

La possibilità di eseguire codice negli assembly remoto è disabilitata.The ability to execute code in remote assemblies is disabled. Vedere <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile non è un assembly valido, ad esempio un assembly a 32 bit in un processo a 64 bit.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Per altre informazioni, vedere l'argomento relativo alle eccezioni.See the exception topic for more information.

-oppure--or- Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e l'oggetto assemblyFile è stato compilato con una versione successiva.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.A codebase that does not start with "file://" was specified without the required WebPermission.

Il parametro assemblyFile è una stringa vuota ("").The assemblyFile parameter is an empty string ("").

Il nome dell'assembly supera la lunghezza massima definita dal sistema.The assembly name exceeds the system-defined maximum length.

Commenti

Il assemblyFile parametro deve fare riferimento a un URI senza caratteri di escape.The assemblyFile parameter must refer to a URI without escape characters. Questo metodo fornisce caratteri di escape per tutti i caratteri non validi nell'URI.This method supplies escape characters for all invalid characters in the URI.

Nota

Il protocollo FTP (file Transfer Protocol) non è supportato.File transfer protocol (FTP) is not supported. Se l'URI specificato per assemblyFile è un indirizzo FTP, l'assembly non viene caricato.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Non viene generata alcuna eccezione.No exception is thrown.

assemblyFile può essere assoluto o relativo rispetto alla directory corrente e l'assembly viene caricato nel dominio del chiamante.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Gli assembly possono essere caricati in uno dei tre contesti oppure possono essere caricati senza contesto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Il contesto di caricamento contiene gli assembly individuati da Probe: nella GAC, in un archivio di assembly host se il runtime è ospitato o nel ApplicationBase e PrivateBinPath del dominio dell'applicazione.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 maggior parte degli overload del metodo Load carica gli assembly in questo contesto.Most overloads of the Load method load assemblies into this context.

  • Il contesto di caricamento da contiene assembly per i quali l'utente ha fornito un percorso non incluso nelle directory in cui viene eseguita la ricerca tramite probe.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom e ExecuteAssembly sono esempi di metodi che vengono caricati in base al percorso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partire da .NET Framework 4, se l'URI di assemblyFile specifica una posizione remota, il caricamento dell'assembly è disabilitato per impostazione predefinita e il metodo LoadFrom genera una 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. Per consentire l'esecuzione del codice caricato da posizioni remote, è possibile usare l'elemento di configurazione <loadFromRemoteSources> .To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Il contesto di sola reflection contiene gli assembly caricati con i metodi ReflectionOnlyLoad e ReflectionOnlyLoadFrom. non è possibile eseguire il codice in questi contesti.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Se l'utente ha generato o trovato l'assembly, non si trova in alcun contesto.If the user generated or found the assembly, it is not in any context. Si applica agli assembly caricati usando gli overload del metodo Load che specificano una matrice di byte contenente un assembly e agli assembly dinamici temporanei creati con la reflection emit e non salvati su disco.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.

Il contesto di caricamento da consente il caricamento di un assembly da un percorso non incluso in Probe, ma consente di trovare e caricare le dipendenze da tale percorso perché le informazioni sul percorso vengono gestite dal contesto.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.

Il metodo LoadFrom presenta gli svantaggi seguenti.The LoadFrom method has the following disadvantages. In alternativa, considerare l'utilizzo di Load.Consider using Load instead.

  • Se è già caricato un assembly con la stessa identità LoadFrom restituisce l'assembly caricato anche se è stato specificato un percorso diverso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Se un assembly viene caricato con LoadFrome in un secondo momento un assembly nel contesto di caricamento tenta di caricare lo stesso assembly in base al nome visualizzato, il tentativo di caricamento avrà esito negativo.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. Questa situazione può verificarsi quando un assembly è deserializzato.This can occur when an assembly is deserialized.

  • Se un assembly viene caricato con LoadFrome il percorso di probe include un assembly con la stessa identità ma una posizione diversa, può verificarsi un InvalidCastException, un MissingMethodExceptiono un altro comportamento imprevisto.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 richiede FileIOPermissionAccess.Read e FileIOPermissionAccess.PathDiscovery o WebPermission per il percorso specificato.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Se un'immagine nativa esiste per assemblyFile, non viene utilizzata.If a native image exists for assemblyFile, it is not used. Non è possibile caricare l'assembly come indipendente dal dominio.The assembly cannot be loaded as domain neutral.

  • In .NET Framework versione 1,0 e 1,1, i criteri non vengono applicati.In the .NET Framework version 1.0 and 1.1, policy is not applied.

Se sussistano o meno le autorizzazioni per l'utilizzo di un assembly lo si evince dalle evidenze.Whether certain permissions are granted or not granted to an assembly is based on evidence. Di seguito sono riportate le regole per l'Unione delle evidenze di assembly e sicurezza:The rules for assembly and security evidence merging are as follows:

  • Quando si usa un LoadFrom metodo senza Evidence parametro, l'assembly viene caricato con l'evidenza fornita dal caricatore.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • Quando si usa un metodo di LoadFrom con un parametro di Evidence, vengono uniti elementi di evidenza.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Parti di evidenza fornite come argomento al metodo LoadFrom sostituiscono le parti di evidenza fornite dal caricatore.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Se si chiama questo metodo più di una volta nello stesso assembly ma con un'altra evidenza specificata, il Common Language Runtime non genera un'FileLoadException perché non è possibile determinare l'uguaglianza e l'integrità delle diverse specifiche di evidenza.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. L'evidenza che ha prima esito positivo è l'evidenza che viene utilizzata.The evidence that first succeeds is the evidence that is used.

  • Quando si usa un metodo di LoadFrom con un parametro Byte[] per caricare un'immagine di Common Object File Format (COFF), l'evidenza viene combinata.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url e Site vengono ereditati dall'assembly chiamante e Hash e StrongName vengono ricavati dall'assembly COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • Quando si utilizza un metodo di LoadFrom con un parametro di Byte[] e Evidence per caricare un'immagine COFF, viene utilizzata solo l'evidenza fornita.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. L'evidenza dell'assembly chiamante e dell'evidenza dell'immagine COFF viene ignorata.Evidence of the calling assembly and evidence of the COFF image is ignored.

Sicurezza

SecurityPermission
per caricare un assembly con evidenze.to load an assembly with evidence. Enumerazione associata: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
per la lettura di un URI che inizia con "file://".for reading a URI that begins with "file://". Enumerazione associata: ReadAssociated enumeration: Read

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

Vedi anche

Si applica a