Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

AppDomain.Load (Método) (AssemblyName)

Carga un Assembly a partir de su AssemblyName.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public Assembly Load(
	AssemblyName assemblyRef
)

Parámetros

assemblyRef
Tipo: System.Reflection.AssemblyName
Objeto que describe el ensamblado que se va a cargar.

Valor devuelto

Tipo: System.Reflection.Assembly
Ensamblado cargado.

Implementaciones

_AppDomain.Load(AssemblyName)

ExcepciónCondición
ArgumentNullException

assemblyRef es null.

FileNotFoundException

No se ha encontrado assemblyRef.

BadImageFormatException

assemblyRef no es un ensamblado válido.

O bien

Actualmente está cargada la versión 2.0 o posterior de Common Language Runtime y assemblyRef se ha compilado con una versión posterior.

AppDomainUnloadedException

Se ha intentado realizar la operación en un dominio de aplicación descargado.

FileLoadException

Se ha cargado un ensamblado o módulo dos veces con dos evidencias diferentes.

Este método sólo debe utilizarse para cargar un ensamblado en el dominio de aplicación actual. Este método se proporciona por comodidad para los autores de llamadas de interoperabilidad que no pueden llamar al método Assembly.Load estático. Para cargar los ensamblados en otros dominios de aplicación, utilice un método tal como CreateInstanceAndUnwrap.

Si ya está cargada una versión del ensamblado solicitado, este método devuelve el ensamblado cargado, aunque se solicite una versión diferente.

No se recomienda proporcionar un nombre de ensamblado parcial para assemblyRef. (Un nombre parcial omite la referencia cultural o la versión o el token de clave pública. Para sobrecargas que toman una cadena en lugar de un objeto AssemblyName, "MyAssembly, Version=1 .0.0.0" es un ejemplo de un nombre parcial y "MyAssembly, Version=1 .0.0.0, Culture=neutral, PublicKeyToken=18ab3442da84b47" es un ejemplo de un nombre completo). El uso de nombres parciales tiene un efecto negativo en el rendimiento. Además, un nombre de ensamblado parcial puede cargar un ensamblado de la memoria caché global de ensamblados sólo si es una copia exacta del ensamblado del directorio base de la aplicación (BaseDirectory o AppDomainSetup.ApplicationBase).

Si el objeto AppDomain actual representa el dominio de aplicación A y se llama al método Load desde el dominio de aplicación B, el ensamblado se carga en ambos dominios de aplicación. Por ejemplo, el código siguiente carga MyAssembly en el nuevo dominio de aplicación ChildDomain y también en el dominio de aplicación en el que se ejecuta el código:


		AppDomain ad = AppDomain.CreateDomain("ChildDomain");
		ad.Load("MyAssembly");


El ensamblado se carga en ambos dominios porque Assembly no deriva de MarshalByRefObject y, por consiguiente, no se pueden calcular las referencias al valor devuelto del método Load. En su lugar, Common Language Runtime intenta cargar el ensamblado en el dominio de aplicación que realiza la llamada. Los ensamblados que se cargan en los dos dominios de aplicación pueden ser diferentes si la configuración de la ruta de acceso de ambos dominios es diferente.

NotaNota

Si están establecidas la propiedad AssemblyName.Name y la propiedad AssemblyName.CodeBase, el primer intento de cargar el ensamblado utiliza el nombre para mostrar (incluyendo la versión, la referencia cultural, etc.), tal como lo devuelve la propiedad Assembly.FullName. Si no se encuentra el archivo, se utiliza la propiedad CodeBase para buscar el ensamblado. Si el ensamblado se encuentra mediante CodeBase, el nombre para mostrar se compara con el ensamblado. Si no coinciden, se produce una excepción FileLoadException.

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft