Assembly.LoadFrom Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Carga un ensamblado.
Sobrecargas
| Nombre | Description |
|---|---|
| LoadFrom(String, Byte[], AssemblyHashAlgorithm) |
Obsoletos.
Carga un ensamblado según su nombre de archivo o ruta de acceso, valor hash y algoritmo hash. |
| LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) |
Obsoletos.
Carga un ensamblado según su nombre de archivo o ruta de acceso, evidencia de seguridad, valor hash y algoritmo hash. |
| LoadFrom(String) |
Carga un ensamblado según su nombre de archivo o ruta de acceso. |
| LoadFrom(String, Evidence) |
Obsoletos.
Carga un ensamblado según su nombre de archivo o ruta de acceso y proporciona evidencia de seguridad. |
Comentarios
Solo .NET Framework: Consulte <loadFromRemoteSources> para cargar ensamblados desde ubicaciones remotas.
LoadFrom(String, Byte[], AssemblyHashAlgorithm)
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
Precaución
LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.
Carga un ensamblado según su nombre de archivo o ruta de acceso, valor hash y algoritmo hash.
public:
static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
[System.Obsolete("LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.", DiagnosticId="SYSLIB0056", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
[<System.Obsolete("LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.", DiagnosticId="SYSLIB0056", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
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
Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.
- hashValue
- Byte[]
Valor del código hash calculado.
- hashAlgorithm
- AssemblyHashAlgorithm
Algoritmo hash usado para los archivos hash y para generar el nombre seguro.
Devoluciones
Ensamblado cargado.
- Atributos
Excepciones
Solo .NET Core y .NET 5+: en todos los casos.
assemblyFile es null.
assemblyFile no se encuentra o el módulo que intenta cargar no especifica una extensión de nombre de archivo.
No se pudo cargar un archivo que se encontró.
O bien
assemblyFile especifica una ubicación que está deshabilitada en <función de loadFromRemoteSources>.
assemblyFile no es un ensamblado válido para el tiempo de ejecución cargado actualmente; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.
Se especificó un código base que no empieza por "file://" sin el necesario WebPermission.
El assemblyFile parámetro es una cadena vacía ("").
El nombre del ensamblado supera la longitud máxima definida por el sistema.
Comentarios
Esta API no se admite en .NET Core/.NET 5+. Este método produce NotSupportedException cuando se llama a . Use LoadFrom(String) en su lugar.
El assemblyFile parámetro debe hacer referencia a un URI sin caracteres de escape. Este método proporciona caracteres de escape para todos los caracteres no válidos del URI.
Nota:
No se admite el protocolo de transferencia de archivos (FTP). Si el URI proporcionado para assemblyFile es una dirección FTP, el ensamblado no se carga. No se inicia ninguna excepción.
assemblyFile puede ser absoluta o relativa al directorio actual.
Los ensamblados se pueden cargar en uno de los tres contextos o se pueden cargar sin contexto:
El contexto de carga contiene ensamblados encontrados por sondeo: en la caché global de ensamblados, en un almacén de ensamblados host si el tiempo de ejecución está hospedado o en y ApplicationBasePrivateBinPath del dominio de aplicación. La mayoría de las sobrecargas del método Load cargan ensamblajes en este contexto.
El contexto de carga desde contiene ensamblados para los que el usuario proporcionó una ruta de acceso que no se incluye en el sondeo. LoadFrom, CreateInstanceFromy ExecuteAssembly son ejemplos de métodos que se cargan por ruta de acceso.
Consulte
<loadFromRemoteSources>para cargar ensamblados desde ubicaciones remotas.El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad métodos y ReflectionOnlyLoadFrom ; no se puede ejecutar código en estos contextos.
Si el usuario generó o encontró el ensamblado, no está en ningún contexto. Esto se aplica a los ensamblados cargados mediante sobrecargas del Load método que especifican una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con la emisión de reflexión y no guardados en el disco.
El contexto de carga desde permite cargar un ensamblado desde una ruta de acceso que no está incluida en el sondeo y, sin embargo, permite que se encuentren y carguen las dependencias de esa ruta de acceso porque el contexto mantiene la información de la ruta de acceso.
El LoadFrom método tiene las siguientes desventajas. Considere usar Load en su lugar.
Si ya se ha cargado un ensamblado con la misma identidad, LoadFrom devuelve el ensamblado cargado aunque se haya especificado una ruta de acceso diferente.
Si un ensamblado se carga con LoadFromy, posteriormente, 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. Esto puede ocurrir cuando se deserializa un ensamblado.
Si un ensamblado se carga con LoadFromy la ruta de acceso de sondeo incluye un ensamblado con la misma identidad, pero puede producirse una ubicación diferente, un InvalidCastExceptionMissingMethodException, u otro comportamiento inesperado.
LoadFrom exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta especificada.
Si existe una imagen nativa para
assemblyFile, no se usa. El ensamblado no se puede cargar en modo neutro de dominio.
El ensamblado se carga con la evidencia de que el cargador proporciona.
Se aplica a
LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)
Precaución
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.
Carga un ensamblado según su nombre de archivo o ruta de acceso, evidencia de seguridad, valor hash y algoritmo hash.
public:
static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member LoadFrom : string * System.Security.Policy.Evidence * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member LoadFrom : string * System.Security.Policy.Evidence * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly
Parámetros
- assemblyFile
- String
Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.
- securityEvidence
- Evidence
Evidencia para cargar el ensamblado.
- hashValue
- Byte[]
Valor del código hash calculado.
- hashAlgorithm
- AssemblyHashAlgorithm
Algoritmo hash usado para los archivos hash y para generar el nombre seguro.
Devoluciones
Ensamblado cargado.
- Atributos
Excepciones
assemblyFile es null.
assemblyFile no se encuentra o el módulo que intenta cargar no especifica una extensión de nombre de archivo.
No se pudo cargar un archivo que se encontró.
O bien
no securityEvidence es ambiguo y se determina que no es válido.
O bien
assemblyFile especifica una ubicación que está deshabilitada en <función de loadFromRemoteSources>.
assemblyFile no es un ensamblado válido para el tiempo de ejecución cargado actualmente; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.
Se especificó un código base que no empieza por "file://" sin el necesario WebPermission.
El assemblyFile parámetro es una cadena vacía ("").
El nombre del ensamblado supera la longitud máxima definida por el sistema.
Comentarios
El assemblyFile parámetro debe hacer referencia a un URI sin caracteres de escape. Este método proporciona caracteres de escape para todos los caracteres no válidos del URI.
Nota:
No se admite el protocolo de transferencia de archivos (FTP). Si el URI proporcionado para assemblyFile es una dirección FTP, el ensamblado no se carga. No se inicia ninguna excepción.
assemblyFile puede ser absoluta o relativa al directorio actual.
Los ensamblados se pueden cargar en uno de los tres contextos o se pueden cargar sin contexto:
El contexto de carga contiene ensamblados encontrados por sondeo: en la GAC, en un almacén de ensamblados host si el tiempo de ejecución está hospedado, o en y ApplicationBasePrivateBinPath del dominio de aplicación. La mayoría de las sobrecargas del método Load cargan ensamblajes en este contexto.
El contexto de carga desde contiene ensamblados para los que el usuario proporcionó una ruta de acceso no incluida en los directorios buscados por sondeo. LoadFrom, CreateInstanceFromy ExecuteAssembly son ejemplos de métodos que se cargan por ruta de acceso.
Consulte
<loadFromRemoteSources>para cargar ensamblados desde ubicaciones remotas.El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad métodos y ReflectionOnlyLoadFrom ; no se puede ejecutar código en estos contextos.
Si el usuario generó o encontró el ensamblado, no está en ningún contexto. Esto se aplica a los ensamblados cargados mediante sobrecargas del Load método que especifican una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con la emisión de reflexión y no guardados en el disco.
El contexto de carga desde permite cargar un ensamblado desde una ruta de acceso no incluida en el sondeo y, sin embargo, permite que se encuentren y carguen las dependencias de esa ruta de acceso porque el contexto mantiene la información de la ruta de acceso.
El LoadFrom método tiene las siguientes desventajas. Considere usar Load en su lugar.
Si ya se ha cargado un ensamblado con la misma identidad, LoadFrom devuelve el ensamblado cargado aunque se haya especificado una ruta de acceso diferente.
Si un ensamblado se carga con LoadFromy, posteriormente, 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. Esto puede ocurrir cuando se deserializa un ensamblado.
Si un ensamblado se carga con LoadFromy la ruta de acceso de sondeo incluye un ensamblado con la misma identidad, pero puede producirse una ubicación diferente, un InvalidCastExceptionMissingMethodException, u otro comportamiento inesperado.
LoadFrom exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta especificada.
Si existe una imagen nativa para
assemblyFile, no se usa. El ensamblado no se puede cargar como neutral del dominio.
La concesión de permisos específicos para un ensamblado se basa en la evidencia. Las reglas para la combinación de evidencias de ensamblado y seguridad son las siguientes:
Cuando se usa un LoadFrom método sin Evidence parámetro, el ensamblado se carga con la evidencia de que el cargador proporciona.
Cuando se usa un LoadFrom método con un Evidence parámetro, se combinan fragmentos de evidencia. Las pruebas proporcionadas como argumento para el LoadFrom método sustituyen a las pruebas proporcionadas por el cargador.
Si llama a este método más de una vez en el mismo ensamblado, pero con una evidencia diferente especificada, Common Language Runtime no produce porque FileLoadException no se puede determinar la igualdad e integridad de las distintas especificaciones de evidencia. La evidencia que primero tiene éxito es la evidencia que se usa.
Cuando se usa un LoadFrom método con un
Byte[]parámetro para cargar una imagen de formato de archivo de objeto común (COFF), la evidencia se combina.ZoneSiteyUrlse heredan del ensamblado que realiza la llamada yHashStrongNamese toman del ensamblado COFF.Cuando se usa un LoadFrom método con un
Byte[]parámetro y Evidence para cargar una imagen COFF, solo se usa la evidencia proporcionada. Se omiten las pruebas del ensamblado que realiza la llamada y la evidencia de la imagen COFF.
Se aplica a
LoadFrom(String)
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
Carga un ensamblado según su nombre de archivo o ruta de acceso.
public:
static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile);
public static System.Reflection.Assembly LoadFrom(string assemblyFile);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member LoadFrom : string -> System.Reflection.Assembly
static member LoadFrom : string -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String) As Assembly
Parámetros
- assemblyFile
- String
Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.
Devoluciones
Ensamblado cargado.
- Atributos
Excepciones
assemblyFile es null.
assemblyFile no se encuentra o el módulo que intenta cargar no especifica una extensión de nombre de archivo.
No se pudo cargar un archivo que se encontró.
O bien
Solo .NET Framework: assemblyFile especifica una ubicación deshabilitada en <función de loadFromRemoteSources>.
assemblyFile no es un ensamblado válido para el tiempo de ejecución cargado actualmente; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.
Se especificó un código base que no empieza por "file://" sin el necesario WebPermission.
El assemblyFile parámetro es una cadena vacía ("").
El nombre del ensamblado supera la longitud máxima definida por el sistema.
Ejemplos
En el ejemplo siguiente se carga un ensamblado según su nombre de archivo o ruta de acceso.
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
Esta API está presente en .NET Core para la compatibilidad, pero se recomienda usar AssemblyLoadContext sobrecargas en su lugar.
El ensamblado se carga en assemblyLoadContext predeterminado. Para más información sobre la carga de ensamblados, consulte Algoritmo de carga de ensamblados administrado.
El assemblyFile parámetro debe hacer referencia a un URI sin caracteres de escape. Este método proporciona caracteres de escape para todos los caracteres no válidos del URI.
Nota:
Solo .NET Framework: no se admite el protocolo de transferencia de archivos (FTP). Si el URI proporcionado para assemblyFile es una dirección FTP, el ensamblado no se carga. No se inicia ninguna excepción.
assemblyFile puede ser absoluta o relativa al directorio actual.
Solo .NET Framework: Los ensamblados se pueden cargar en uno de los tres contextos o se pueden cargar sin contexto:
El contexto de carga contiene ensamblados encontrados por sondeo: en la GAC, en un almacén de ensamblados host si el tiempo de ejecución está hospedado, o en y ApplicationBasePrivateBinPath del dominio de aplicación. La mayoría de las sobrecargas del método Load cargan ensamblajes en este contexto.
El contexto de carga desde contiene ensamblados para los que el usuario proporcionó una ruta de acceso no incluida en los directorios buscados por sondeo. También permite que las dependencias de esa ruta de acceso se encuentren y carguen porque el contexto mantiene la información de la ruta de acceso. LoadFrom, CreateInstanceFromy ExecuteAssembly son ejemplos de métodos que se cargan por ruta de acceso.
Consulte
<loadFromRemoteSources>para cargar ensamblados desde ubicaciones remotas.El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad métodos y ReflectionOnlyLoadFrom ; no se puede ejecutar código en estos contextos.
Si el usuario generó o encontró el ensamblado, no está en ningún contexto. Esto se aplica a los ensamblados cargados mediante sobrecargas del Load método que especifican una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con la emisión de reflexión y no guardados en el disco.
El LoadFrom método tiene las siguientes desventajas. Considere usar Load en su lugar.
Si hay un ensamblado con la misma identidad ya cargado en el contexto de origen de carga, LoadFrom devuelve el ensamblado cargado aunque se haya especificado otra ruta de acceso.
Un ensamblado se puede cargar en el contexto de carga desde aunque exista un ensamblado con la misma identidad en el contexto de carga. La interoperabilidad entre los dos ensamblados no funcionará, lo que provoca errores como InvalidCastException, MissingMethodExceptionu otro comportamiento inesperado.
Al llamar LoadFrom a con una ubicación que se encuentra en la ruta de acceso de sondeo, se cargará el ensamblado en el contexto de carga y no en el contexto de carga desde.
Si se pasa a un archivo de ensamblado cuya identidad pasa una directiva de redirección de enlace a LoadFrom, la directiva se aplicará y el ensamblado se cargará desde la ruta de acceso de sondeo en el contexto de carga.
Si un ensamblado se carga en el contexto de carga desde y, posteriormente, 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. Esto puede ocurrir cuando se deserializa un ensamblado.
LoadFrom exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta especificada.
Si existe una imagen nativa para
assemblyFile, no se usa. El ensamblado no se puede cargar como neutral del dominio.
Se aplica a
LoadFrom(String, Evidence)
Precaución
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.
Carga un ensamblado según su nombre de archivo o ruta de acceso y proporciona evidencia de seguridad.
public:
static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence);
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence);
static member LoadFrom : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
[<System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member LoadFrom : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence) As Assembly
Parámetros
- assemblyFile
- String
Nombre o ruta de acceso del archivo que contiene el manifiesto del ensamblado.
- securityEvidence
- Evidence
Evidencia para cargar el ensamblado.
Devoluciones
Ensamblado cargado.
- Atributos
Excepciones
assemblyFile es null.
assemblyFile no se encuentra o el módulo que intenta cargar no especifica una extensión de nombre de archivo.
No se pudo cargar un archivo que se encontró.
O bien
no securityEvidence es ambiguo y se determina que no es válido.
O bien
assemblyFile especifica una ubicación que está deshabilitada en <función de loadFromRemoteSources>.
assemblyFile no es un ensamblado válido para el tiempo de ejecución cargado actualmente; por ejemplo, un ensamblado de 32 bits en un proceso de 64 bits.
Se especificó un código base que no empieza por "file://" sin el necesario WebPermission.
El assemblyFile parámetro es una cadena vacía ("").
El nombre del ensamblado supera la longitud máxima definida por el sistema.
Comentarios
El assemblyFile parámetro debe hacer referencia a un URI sin caracteres de escape. Este método proporciona caracteres de escape para todos los caracteres no válidos del URI.
Nota:
No se admite el protocolo de transferencia de archivos (FTP). Si el URI proporcionado para assemblyFile es una dirección FTP, el ensamblado no se carga. No se inicia ninguna excepción.
assemblyFile puede ser absoluta o relativa al directorio actual.
Los ensamblados se pueden cargar en uno de los tres contextos o se pueden cargar sin contexto:
El contexto de carga contiene ensamblados encontrados por sondeo: en la GAC, en un almacén de ensamblados host si el tiempo de ejecución está hospedado, o en y ApplicationBasePrivateBinPath del dominio de aplicación. La mayoría de las sobrecargas del método Load cargan ensamblajes en este contexto.
El contexto de carga desde contiene ensamblados para los que el usuario proporcionó una ruta de acceso no incluida en los directorios buscados por sondeo. LoadFrom, CreateInstanceFromy ExecuteAssembly son ejemplos de métodos que se cargan por ruta de acceso.
Consulte
<loadFromRemoteSources>para cargar ensamblados desde ubicaciones remotas.El contexto de solo reflexión contiene ensamblados cargados con los ReflectionOnlyLoad métodos y ReflectionOnlyLoadFrom ; no se puede ejecutar código en estos contextos.
Si el usuario generó o encontró el ensamblado, no está en ningún contexto. Esto se aplica a los ensamblados cargados mediante sobrecargas del Load método que especifican una matriz de bytes que contiene un ensamblado y a los ensamblados dinámicos transitorios creados con la emisión de reflexión y no guardados en el disco.
El contexto de carga desde permite cargar un ensamblado desde una ruta de acceso no incluida en el sondeo y, sin embargo, permite que se encuentren y carguen las dependencias de esa ruta de acceso porque el contexto mantiene la información de la ruta de acceso.
El LoadFrom método tiene las siguientes desventajas. Considere usar Load en su lugar.
Si ya se ha cargado un ensamblado con la misma identidad, LoadFrom devuelve el ensamblado cargado aunque se haya especificado una ruta de acceso diferente.
Si un ensamblado se carga con LoadFromy, posteriormente, 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. Esto puede ocurrir cuando se deserializa un ensamblado.
Si un ensamblado se carga con LoadFromy la ruta de acceso de sondeo incluye un ensamblado con la misma identidad, pero puede producirse una ubicación diferente, un InvalidCastExceptionMissingMethodException, u otro comportamiento inesperado.
LoadFrom exige FileIOPermissionAccess.Read y FileIOPermissionAccess.PathDiscovery, o WebPermission, en la ruta especificada.
Si existe una imagen nativa para
assemblyFile, no se usa. El ensamblado no se puede cargar como neutral del dominio.
La concesión de permisos específicos para un ensamblado se basa en la evidencia. Las reglas para la combinación de evidencias de ensamblado y seguridad son las siguientes:
Cuando se usa un LoadFrom método sin Evidence parámetro, el ensamblado se carga con la evidencia de que el cargador proporciona.
Cuando se usa un LoadFrom método con un Evidence parámetro, se combinan fragmentos de evidencia. Las pruebas proporcionadas como argumento para el LoadFrom método sustituyen a las pruebas proporcionadas por el cargador.
Si llama a este método más de una vez en el mismo ensamblado, pero con una evidencia diferente especificada, Common Language Runtime no produce porque FileLoadException no se puede determinar la igualdad e integridad de las distintas especificaciones de evidencia. La evidencia que primero tiene éxito es la evidencia que se usa.
Cuando se usa un LoadFrom método con un
Byte[]parámetro para cargar una imagen de formato de archivo de objeto común (COFF), la evidencia se combina.ZoneSiteyUrlse heredan del ensamblado que realiza la llamada yHashStrongNamese toman del ensamblado COFF.Cuando se usa un LoadFrom método con un
Byte[]parámetro y Evidence para cargar una imagen COFF, solo se usa la evidencia proporcionada. Se omiten las pruebas del ensamblado que realiza la llamada y la evidencia de la imagen COFF.