Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Method

Definición

Carga un ensamblado.Loads an assembly.

Sobrecargas

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

Carga un ensamblado a partir de su nombre o ruta de acceso de archivo, evidencia de seguridad, valor hash y algoritmo hash.Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

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

Carga un ensamblado a partir de su nombre o ruta de acceso de archivo, valor hash y algoritmo hash.Loads an assembly given its file name or path, hash value, and hash algorithm.

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

Carga un ensamblado a partir del nombre o ruta de acceso del archivo.Loads an assembly given its file name or path.

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

Carga un ensamblado determinado a partir del nombre o ruta de acceso del archivo, a la vez que proporciona evidencia de seguridad.Loads an assembly given its file name or path and supplying security evidence.

Comentarios

A partir de .NET Framework 4, la capacidad de ejecutar código en los ensamblados cargados desde ubicaciones remotas está deshabilitada de forma predeterminada y la llamada a la LoadFrom método produce una 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. Para cargar el ensamblado y ejecutar su código, debe:To load the assembly and execute its code, you must either:

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

Advertencia

Esta API está ya obsoleta.

Carga un ensamblado a partir de su nombre o ruta de acceso de archivo, evidencia de seguridad, valor hash y 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 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
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

Parámetros

assemblyFile
String String String String

Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

Evidencia para cargar el ensamblado.Evidence for loading the assembly.

hashValue
Byte[]

Valor del código hash calculado.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

Algoritmo hash utilizado para los archivos hash y para generar el nombre seguro.The hash algorithm used for hashing files and for generating the strong name.

Devoluciones

Ensamblado cargado.The loaded assembly.

Excepciones

El valor de assemblyFile es null.assemblyFile is null.

No se encuentra assemblyFile o el módulo que está intentando cargar no especifica una extensión de nombre de archivo.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

No se pudo cargar un archivo que se encontró.A file that was found could not be loaded.

O bien-or- El elemento securityEvidence no es ambiguo y se determinó que no es válido.The securityEvidence is not ambiguous and is determined to be invalid.

O bien-or-

La capacidad de ejecutar código en los ensamblados remotos está deshabilitada.The ability to execute code in remote assemblies is disabled. Vea <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile no es un ensamblado válido; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Consulte el tema sobre excepciones para obtener más información.See the exception topic for more information.

O bien-or- La versión 2.0 u otra posterior del Common Language Runtime está cargada actualmente y assemblyFile se compiló con una versión posterior.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Se especificó un código base que no comienza con "file://" sin el WebPermission necesario.A codebase that does not start with "file://" was specified without the required WebPermission.

El parámetro assemblyFile es una cadena vacía ("").The assemblyFile parameter is an empty string ("").

El nombre del ensamblado supera la longitud máxima definida por el sistema.The assembly name exceeds the system-defined maximum length.

Comentarios

El assemblyFile parámetro debe hacer referencia a un identificador URI sin caracteres de escape.The assemblyFile parameter must refer to a URI without escape characters. Este método proporciona los caracteres de escape para todos los caracteres no válidos en el URI.This method supplies escape characters for all invalid characters in the URI.

Nota

No se admite el protocolo de transferencia de archivos (FTP).File transfer protocol (FTP) is not supported. Si el URI proporcionado para assemblyFile es una dirección FTP, no se carga el ensamblado.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. No se inicia ninguna excepción.No exception is thrown.

assemblyFile puede ser absoluta o relativa al directorio actual, y el ensamblado se carga en el dominio del llamador.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Los ensamblados pueden cargarse en uno de estos tres contextos o pueden cargados sin contexto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • El contexto de carga contiene ensamblados que se encuentran al sondear: en la GAC, en un ensamblado de almacén si se hospeda el tiempo de ejecución, o en el ApplicationBase y PrivateBinPath del dominio de aplicación.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 mayoría de las sobrecargas del método Load carga ensamblados en este contexto.Most overloads of the Load method load assemblies into this context.

  • El contexto de carga contiene ensamblados para los que el usuario proporcionó una ruta de acceso que no se incluye en los directorios para buscar mediante sondeo.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom y ExecuteAssembly son ejemplos de métodos que cargan por ruta de acceso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partir de .NET Framework 4, si el identificador URI de assemblyFile especifica una ubicación remota, carga de ensamblados está deshabilitada de forma predeterminada y el LoadFrom método produce 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. Para habilitar la ejecución de código cargado desde ubicaciones remotas, puede usar el <loadFromRemoteSources> elemento de configuración.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad y ReflectionOnlyLoadFrom métodos; código de estos contextos no se puede ejecutar.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si el usuario se genera o encuentra el ensamblado, no es en ningún contexto.If the user generated or found the assembly, it is not in any context. Esto se aplica a los ensamblados cargados mediante las sobrecargas de los Load método que especifique una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con reflection emit y no se guardan en el 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.

El contexto de carga permite que un ensamblado se cargue desde una ruta de acceso no está incluida en el sondeo y permite las dependencias de esa ruta de acceso que se busquen y se puede cargar porque el contexto mantiene la información de ruta de acceso.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.

El LoadFrom método tiene las siguientes desventajas.The LoadFrom method has the following disadvantages. Considere usar Load en su lugar.Consider using Load instead.

  • Si hay un ensamblado con la misma identidad ya cargado, LoadFrom devuelve el ensamblado cargado aunque se haya especificado otra ruta de acceso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un ensamblado se carga con LoadFromy más adelante un ensamblado en el contexto de carga intenta cargar el mismo ensamblado por nombre para mostrar, se produce un error en el intento de carga.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. Esto puede ocurrir cuando se deserializa un ensamblado.This can occur when an assembly is deserialized.

  • Si un ensamblado se carga con LoadFrom, y la ruta de acceso de sondeo incluye un ensamblado con la misma identidad pero en una ubicación diferente, un InvalidCastException, MissingMethodException, o puede producirse otro comportamiento inesperado.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 exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta de acceso especificada.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si existe una imagen nativa para assemblyFile, no se utiliza.If a native image exists for assemblyFile, it is not used. El ensamblado no se puede cargar como dominio neutro.The assembly cannot be loaded as domain neutral.

  • En la versión 1.0 y 1.1 de .NET Framework, no se aplica la directiva.In the .NET Framework version 1.0 and 1.1, policy is not applied.

La concesión de permisos específicos para un ensamblado se basa en la evidencia.Whether certain permissions are granted or not granted to an assembly is based on evidence. Las reglas de ensamblado y la combinación de evidencia de seguridad son los siguientes:The rules for assembly and security evidence merging are as follows:

  • Cuando se usa un LoadFrom método sin ningún Evidence parámetro, el ensamblado se carga con la evidencia que proporciona el cargador.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • Cuando se usa un LoadFrom método con un Evidence parámetro, evidencias se combinan.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Evidencias proporcionada como argumento a la LoadFrom método sustituyen a los elementos de la evidencia proporcionada por el cargador.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Si llama a este método varias veces en el mismo ensamblado, pero con una evidencia diferente, common language runtime no produce una FileLoadException porque no se puede determinar la igualdad y la integridad de las especificaciones de evidencias diferentes.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. La evidencia que primero se realiza correctamente es la evidencia que se usa.The evidence that first succeeds is the evidence that is used.

  • Cuando se usa un LoadFrom método con un Byte[] se combina el parámetro a una común imagen object file format (COFF), pruebas de carga.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url y Site se heredan del ensamblado que realiza la llamada, y Hash y StrongName se toman del ensamblado COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • Cuando se usa un LoadFrom método con un Byte[] parámetro y Evidence para cargar una imagen en formato COFF, se usa solo la evidencia proporcionada.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. Se omiten la evidencia del ensamblado que realiza la llamada y la evidencia de la imagen COFF.Evidence of the calling assembly and evidence of the COFF image is ignored.

Seguridad

SecurityPermission
para cargar un ensamblado con la evidencia.to load an assembly with evidence. Enumeración asociada: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
para leer un URI que comienza con "file://".for reading a URI that begins with "file://". Enumeración asociada: ReadAssociated enumeration: Read

WebPermission
para leer un URI que no comienzan con "file://".for reading a URI that does not begin with "file://".

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

Carga un ensamblado a partir de su nombre o ruta de acceso de archivo, valor hash y 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

Parámetros

assemblyFile
String String String String

Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.The name or path of the file that contains the manifest of the assembly.

hashValue
Byte[]

Valor del código hash calculado.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

Algoritmo hash utilizado para los archivos hash y para generar el nombre seguro.The hash algorithm used for hashing files and for generating the strong name.

Devoluciones

Ensamblado cargado.The loaded assembly.

Excepciones

El valor de assemblyFile es null.assemblyFile is null.

No se encuentra assemblyFile o el módulo que está intentando cargar no especifica una extensión de nombre de archivo.assemblyFile is not found, or the module you are trying to load does not specify a file name extension.

No se pudo cargar un archivo que se encontró.A file that was found could not be loaded.

O bien-or-

La capacidad de ejecutar código en los ensamblados remotos está deshabilitada.The ability to execute code in remote assemblies is disabled. Vea <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile no es un ensamblado válido; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Consulte el tema sobre excepciones para obtener más información.See the exception topic for more information.

O bien-or- assemblyFile se compiló con una versión de Common Language Runtime posterior a la versión que está cargada actualmente.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

Se especificó un código base que no comienza con "file://" sin el WebPermission necesario.A codebase that does not start with "file://" was specified without the required WebPermission.

El parámetro assemblyFile es una cadena vacía ("").The assemblyFile parameter is an empty string ("").

El nombre del ensamblado supera la longitud máxima definida por el sistema.The assembly name exceeds the system-defined maximum length.

Comentarios

El assemblyFile parámetro debe hacer referencia a un identificador URI sin caracteres de escape.The assemblyFile parameter must refer to a URI without escape characters. Este método proporciona los caracteres de escape para todos los caracteres no válidos en el URI.This method supplies escape characters for all invalid characters in the URI.

Nota

No se admite el protocolo de transferencia de archivos (FTP).File transfer protocol (FTP) is not supported. Si el URI proporcionado para assemblyFile es una dirección FTP, no se carga el ensamblado.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. No se inicia ninguna excepción.No exception is thrown.

assemblyFile puede ser absoluta o relativa al directorio actual, y el ensamblado se carga en el dominio del llamador.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Los ensamblados pueden cargarse en uno de estos tres contextos o pueden cargados sin contexto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • El contexto de carga contiene ensamblados que se encuentran al sondear: en la caché global de ensamblados, en un ensamblado de almacén si se hospeda el tiempo de ejecución, o en el ApplicationBase y PrivateBinPath del dominio de aplicación.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 mayoría de las sobrecargas del método Load carga ensamblados en este contexto.Most overloads of the Load method load assemblies into this context.

  • El contexto de carga contiene ensamblados para los que el usuario proporcionó una ruta de acceso que no se incluye en el sondeo.The load-from context contains assemblies for which the user provided a path that is not included in probing. LoadFrom, CreateInstanceFrom y ExecuteAssembly son ejemplos de métodos que cargan por ruta de acceso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partir de .NET Framework 4, si el identificador URI de assemblyFile especifica una ubicación remota, carga de ensamblados está deshabilitada de forma predeterminada y el LoadFrom método produce 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. Para habilitar la ejecución de código cargado desde ubicaciones remotas, puede usar el <loadFromRemoteSources> elemento de configuración.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad y ReflectionOnlyLoadFrom métodos; código de estos contextos no se puede ejecutar.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si el usuario se genera o encuentra el ensamblado, no es en ningún contexto.If the user generated or found the assembly, it is not in any context. Esto se aplica a los ensamblados cargados mediante las sobrecargas de los Load método que especifique una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con reflection emit y no se guardan en el 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.

El contexto de carga permite que un ensamblado se cargue desde una ruta de acceso que no se incluye en el sondeo y permite las dependencias de esa ruta de acceso que se busquen y se puede cargar porque el contexto mantiene la información de ruta de acceso.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.

El LoadFrom método tiene las siguientes desventajas.The LoadFrom method has the following disadvantages. Considere usar Load en su lugar.Consider using Load instead.

  • Si hay un ensamblado con la misma identidad ya cargado, LoadFrom devuelve el ensamblado cargado aunque se haya especificado otra ruta de acceso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un ensamblado se carga con LoadFromy más adelante un ensamblado en el contexto de carga intenta cargar el mismo ensamblado por nombre para mostrar, se produce un error en el intento de carga.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. Esto puede ocurrir cuando se deserializa un ensamblado.This can occur when an assembly is deserialized.

  • Si un ensamblado se carga con LoadFrom, y la ruta de acceso de sondeo incluye un ensamblado con la misma identidad pero en una ubicación diferente, un InvalidCastException, MissingMethodException, o puede producirse otro comportamiento inesperado.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 exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta de acceso especificada.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si existe una imagen nativa para assemblyFile, no se utiliza.If a native image exists for assemblyFile, it is not used. No se puede cargar el ensamblado con dominio neutro.The assembly cannot be loaded as domain-neutral.

El ensamblado se carga con la evidencia que proporciona el cargador.The assembly is loaded with the evidence that the loader supplies.

Seguridad

SecurityPermission
para cargar un ensamblado con la evidencia.to load an assembly with evidence. Enumeración asociada: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
para leer un URI que comienza con "file://".for reading a URI that begins with "file://". Enumeración asociada: ReadAssociated enumeration: Read

WebPermission
para leer un URI que no comienzan con "file://".for reading a URI that does not begin with "file://".

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

Carga un ensamblado a partir del nombre o ruta de acceso del archivo.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

Parámetros

assemblyFile
String String String String

Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.The name or path of the file that contains the manifest of the assembly.

Devoluciones

Ensamblado cargado.The loaded assembly.

Excepciones

El valor de assemblyFile es null.assemblyFile is null.

No se encuentra assemblyFile o el módulo que está intentando cargar no especifica una extensión de nombre de archivo.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

No se pudo cargar un archivo que se encontró.A file that was found could not be loaded.

O bien-or-

La capacidad de ejecutar código en los ensamblados remotos está deshabilitada.The ability to execute code in remote assemblies is disabled. Vea <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile no es un ensamblado válido; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Consulte el tema sobre excepciones para obtener más información.See the exception topic for more information.

O bien-or- La versión 2.0 u otra posterior del Common Language Runtime está cargada actualmente y assemblyFile se compiló con una versión posterior.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Se especificó un código base que no comienza con "file://" sin el WebPermission necesario.A codebase that does not start with "file://" was specified without the required WebPermission.

El parámetro assemblyFile es una cadena vacía ("").The assemblyFile parameter is an empty string ("").

El nombre del ensamblado supera la longitud máxima definida por el sistema.The assembly name exceeds the system-defined maximum length.

Ejemplos

El ejemplo siguiente carga un ensamblado dado su nombre de archivo o ruta de acceso.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 

Comentarios

El assemblyFile parámetro debe hacer referencia a un identificador URI sin caracteres de escape.The assemblyFile parameter must refer to a URI without escape characters. Este método proporciona los caracteres de escape para todos los caracteres no válidos en el URI.This method supplies escape characters for all invalid characters in the URI.

Nota

No se admite el protocolo de transferencia de archivos (FTP).File transfer protocol (FTP) is not supported. Si el URI proporcionado para assemblyFile es una dirección FTP, no se carga el ensamblado.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. No se inicia ninguna excepción.No exception is thrown.

assemblyFile puede ser absoluta o relativa al directorio actual, y el ensamblado se carga en el dominio del llamador.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Los ensamblados pueden cargarse en uno de estos tres contextos o pueden cargados sin contexto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • El contexto de carga contiene ensamblados que se encuentran al sondear: en la GAC, en un ensamblado de almacén si se hospeda el tiempo de ejecución, o en el ApplicationBase y PrivateBinPath del dominio de aplicación.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 mayoría de las sobrecargas del método Load carga ensamblados en este contexto.Most overloads of the Load method load assemblies into this context.

  • El contexto de carga contiene ensamblados para los que el usuario proporcionó una ruta de acceso que no se incluye en los directorios para buscar mediante sondeo.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom y ExecuteAssembly son ejemplos de métodos que cargan por ruta de acceso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partir de .NET Framework 4, si el identificador URI de assemblyFile especifica una ubicación remota, carga de ensamblados está deshabilitada de forma predeterminada y el LoadFrom método produce 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. Para habilitar la ejecución de código cargado desde ubicaciones remotas, puede usar el <loadFromRemoteSources> elemento de configuración.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad y ReflectionOnlyLoadFrom métodos; código de estos contextos no se puede ejecutar.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si el usuario se genera o encuentra el ensamblado, no es en ningún contexto.If the user generated or found the assembly, it is not in any context. Esto se aplica a los ensamblados cargados mediante las sobrecargas de los Load método que especifique una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con reflection emit y no se guardan en el 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.

El contexto de carga permite que un ensamblado se cargue desde una ruta de acceso no está incluida en el sondeo y permite las dependencias de esa ruta de acceso que se busquen y se puede cargar porque el contexto mantiene la información de ruta de acceso.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.

El LoadFrom método tiene las siguientes desventajas.The LoadFrom method has the following disadvantages. Considere usar Load en su lugar.Consider using Load instead.

  • Si hay un ensamblado con la misma identidad ya cargado, LoadFrom devuelve el ensamblado cargado aunque se haya especificado otra ruta de acceso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un ensamblado se carga con LoadFromy más adelante un ensamblado en el contexto de carga intenta cargar el mismo ensamblado por nombre para mostrar, se produce un error en el intento de carga.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. Esto puede ocurrir cuando se deserializa un ensamblado.This can occur when an assembly is de-serialized.

  • Si un ensamblado se carga con LoadFrom, y la ruta de acceso de sondeo incluye un ensamblado con la misma identidad pero en una ubicación diferente, un InvalidCastException, MissingMethodException, o puede producirse otro comportamiento inesperado.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 exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta de acceso especificada.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si existe una imagen nativa para assemblyFile, no se utiliza.If a native image exists for assemblyFile, it is not used. El ensamblado no se puede cargar como dominio neutro.The assembly cannot be loaded as domain neutral.

  • En la versión 1.0 y 1.1 de .NET Framework, no se aplica la directiva.In the .NET Framework version 1.0 and 1.1, policy is not applied.

Seguridad

FileIOPermission
para leer un URI que comienza con "file://".for reading a URI that begins with "file://". Enumeración asociada: ReadAssociated enumeration: Read

WebPermission
para leer un URI que no comienzan con "file://".for reading a URI that does not begin with "file://".

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

Advertencia

Esta API está ya obsoleta.

Carga un ensamblado determinado a partir del nombre o ruta de acceso del archivo, a la vez que proporciona evidencia de seguridad.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 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
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence) As Assembly

Parámetros

assemblyFile
String String String String

Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

Evidencia para cargar el ensamblado.Evidence for loading the assembly.

Devoluciones

Ensamblado cargado.The loaded assembly.

Excepciones

El valor de assemblyFile es null.assemblyFile is null.

No se encuentra assemblyFile o el módulo que está intentando cargar no especifica una extensión de nombre de archivo.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

No se pudo cargar un archivo que se encontró.A file that was found could not be loaded.

O bien-or- El elemento securityEvidence no es ambiguo y se determinó que no es válido.The securityEvidence is not ambiguous and is determined to be invalid.

O bien-or-

La capacidad de ejecutar código en los ensamblados remotos está deshabilitada.The ability to execute code in remote assemblies is disabled. Vea <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile no es un ensamblado válido; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Consulte el tema sobre excepciones para obtener más información.See the exception topic for more information.

O bien-or- La versión 2.0 u otra posterior del Common Language Runtime está cargada actualmente y assemblyFile se compiló con una versión posterior.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Se especificó un código base que no comienza con "file://" sin el WebPermission necesario.A codebase that does not start with "file://" was specified without the required WebPermission.

El parámetro assemblyFile es una cadena vacía ("").The assemblyFile parameter is an empty string ("").

El nombre del ensamblado supera la longitud máxima definida por el sistema.The assembly name exceeds the system-defined maximum length.

Comentarios

El assemblyFile parámetro debe hacer referencia a un identificador URI sin caracteres de escape.The assemblyFile parameter must refer to a URI without escape characters. Este método proporciona los caracteres de escape para todos los caracteres no válidos en el URI.This method supplies escape characters for all invalid characters in the URI.

Nota

No se admite el protocolo de transferencia de archivos (FTP).File transfer protocol (FTP) is not supported. Si el URI proporcionado para assemblyFile es una dirección FTP, no se carga el ensamblado.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. No se inicia ninguna excepción.No exception is thrown.

assemblyFile puede ser absoluta o relativa al directorio actual, y el ensamblado se carga en el dominio del llamador.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Los ensamblados pueden cargarse en uno de estos tres contextos o pueden cargados sin contexto:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • El contexto de carga contiene ensamblados que se encuentran al sondear: en la GAC, en un ensamblado de almacén si se hospeda el tiempo de ejecución, o en el ApplicationBase y PrivateBinPath del dominio de aplicación.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 mayoría de las sobrecargas del método Load carga ensamblados en este contexto.Most overloads of the Load method load assemblies into this context.

  • El contexto de carga contiene ensamblados para los que el usuario proporcionó una ruta de acceso que no se incluye en los directorios para buscar mediante sondeo.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFrom, CreateInstanceFrom y ExecuteAssembly son ejemplos de métodos que cargan por ruta de acceso.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    A partir de .NET Framework 4, si el identificador URI de assemblyFile especifica una ubicación remota, carga de ensamblados está deshabilitada de forma predeterminada y el LoadFrom método produce 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. Para habilitar la ejecución de código cargado desde ubicaciones remotas, puede usar el <loadFromRemoteSources> elemento de configuración.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad y ReflectionOnlyLoadFrom métodos; código de estos contextos no se puede ejecutar.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Si el usuario se genera o encuentra el ensamblado, no es en ningún contexto.If the user generated or found the assembly, it is not in any context. Esto se aplica a los ensamblados cargados mediante las sobrecargas de los Load método que especifique una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con reflection emit y no se guardan en el 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.

El contexto de carga permite que un ensamblado se cargue desde una ruta de acceso no está incluida en el sondeo y permite las dependencias de esa ruta de acceso que se busquen y se puede cargar porque el contexto mantiene la información de ruta de acceso.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.

El LoadFrom método tiene las siguientes desventajas.The LoadFrom method has the following disadvantages. Considere usar Load en su lugar.Consider using Load instead.

  • Si hay un ensamblado con la misma identidad ya cargado, LoadFrom devuelve el ensamblado cargado aunque se haya especificado otra ruta de acceso.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Si un ensamblado se carga con LoadFromy más adelante un ensamblado en el contexto de carga intenta cargar el mismo ensamblado por nombre para mostrar, se produce un error en el intento de carga.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. Esto puede ocurrir cuando se deserializa un ensamblado.This can occur when an assembly is deserialized.

  • Si un ensamblado se carga con LoadFrom, y la ruta de acceso de sondeo incluye un ensamblado con la misma identidad pero en una ubicación diferente, un InvalidCastException, MissingMethodException, o puede producirse otro comportamiento inesperado.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 exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta de acceso especificada.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Si existe una imagen nativa para assemblyFile, no se utiliza.If a native image exists for assemblyFile, it is not used. El ensamblado no se puede cargar como dominio neutro.The assembly cannot be loaded as domain neutral.

  • En la versión 1.0 y 1.1 de .NET Framework, no se aplica la directiva.In the .NET Framework version 1.0 and 1.1, policy is not applied.

La concesión de permisos específicos para un ensamblado se basa en la evidencia.Whether certain permissions are granted or not granted to an assembly is based on evidence. Las reglas de ensamblado y la combinación de evidencia de seguridad son los siguientes:The rules for assembly and security evidence merging are as follows:

  • Cuando se usa un LoadFrom método sin ningún Evidence parámetro, el ensamblado se carga con la evidencia que proporciona el cargador.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • Cuando se usa un LoadFrom método con un Evidence parámetro, evidencias se combinan.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Evidencias proporcionada como argumento a la LoadFrom método sustituyen a los elementos de la evidencia proporcionada por el cargador.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Si llama a este método varias veces en el mismo ensamblado, pero con una evidencia diferente, common language runtime no produce una FileLoadException porque no se puede determinar la igualdad y la integridad de las especificaciones de evidencias diferentes.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. La evidencia que primero se realiza correctamente es la evidencia que se usa.The evidence that first succeeds is the evidence that is used.

  • Cuando se usa un LoadFrom método con un Byte[] se combina el parámetro a una común imagen object file format (COFF), pruebas de carga.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url y Site se heredan del ensamblado que realiza la llamada, y Hash y StrongName se toman del ensamblado COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • Cuando se usa un LoadFrom método con un Byte[] parámetro y Evidence para cargar una imagen en formato COFF, se usa solo la evidencia proporcionada.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. Se omiten la evidencia del ensamblado que realiza la llamada y la evidencia de la imagen COFF.Evidence of the calling assembly and evidence of the COFF image is ignored.

Seguridad

SecurityPermission
para cargar un ensamblado con la evidencia.to load an assembly with evidence. Enumeración asociada: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
para leer un URI que comienza con "file://".for reading a URI that begins with "file://". Enumeración asociada: ReadAssociated enumeration: Read

WebPermission
para leer un URI que no comienzan con "file://".for reading a URI that does not begin with "file://".

Consulte también:

Se aplica a