Exportar (0) Imprimir
Expandir todo

Cómo: Cargar ensamblados en un dominio de aplicación

Existen varias formas de cargar un ensamblado en un dominio de aplicación. La forma recomendada es utilizar el método static (Shared en Visual Basic) Load de la clase System.Reflection.Assembly. Otras formas de cargar ensamblados son las que se indican a continuación:

NoteNota

El contexto de sólo reflexión es nuevo en la versión 2.0 de .NET Framework.

  • Los métodos como CreateInstance y CreateInstanceAndUnwrap de la clase AppDomain permiten cargar ensamblados en un dominio de aplicación.

  • El método GetType de la clase Type puede cargar ensamblados.

  • El método Load de la clase System.AppDomain puede cargar ensamblados, pero se utiliza principalmente para la interoperabilidad COM. No debe utilizarse para cargar ensamblados en un dominio de aplicación distinto del dominio de aplicación desde el que se llama al método.

NoteNota

A partir de la versión 2.0 de .NET Framework, el tiempo de ejecución no carga ningún ensamblado compilado con un número de versión de .NET Framework mayor que el número de versión del tiempo de ejecución actualmente cargado. Esto se aplica a la combinación de los componentes principal y secundario del número de versión.

Puede especificar la forma en que el código compilado Just-In-Time (JIT) de los ensamblados cargados se comparte entre los dominios de aplicación. Para obtener más información, vea Dominios de aplicación y ensamblados.

Ejemplo

En el siguiente código, se carga un ensamblado denominado "example.exe" o "example.dll" en el dominio de aplicación actual, se obtiene un tipo denominado Example del ensamblado, se obtiene un método sin parámetros denominado MethodA para ese tipo y se ejecuta el método. Si desea una descripción completa de cómo obtener información de un ensamblado cargado, vea Cargar y utilizar tipos dinámicamente.

using System;
using System.Reflection;

public class Asmload0
{
   public static void Main () 
   {
      // Use the file name to load the assembly into the current 
      // application domain.
      Assembly a = Assembly.Load("example");
      // Get the type to use.
      Type myType = a.GetType("Example");
      // Get the method to call.
      MethodInfo mymethod = myType.GetMethod("MethodA");
      // Create an instance.
      Object obj = Activator.CreateInstance(myType);
      // Execute the method.
      mymethod.Invoke(obj,null);
   }
}

Vea también

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft