2011-07-26 17 views
6

Tengo una aplicación .NET que deseo buscar en otras rutas para las DLL dependientes además del GAC estándar, el directorio actual, las áreas de PATH. ¿Es posible decirle a la aplicación que haga esto?¿Cómo puedo agregar una ruta (s) a la orden de búsqueda de DLL

E.g.

Indique a la aplicación que busque en "[Ruta de acceso ejecutable] \ DLL dependientes".

+1

no proporciona suficiente información ... ¿la aplicación carga dinámicamente las DLL dependientes a través de Assembly.LoadFrom? – Yahia

+0

Está cargando flujos de trabajo utilizando un XamlXmlReader y ActivityXamlServices.Load. Los archivos DLL dependientes serán dinámicos en función del archivo XAML cargado. –

Respuesta

6

Puede agregar una ruta de búsqueda de ensamblaje privado utilizando el elemento <probing> en su archivo .config.

2

Un enfoque alternativo para establecer el sondeo en su configuración (si necesita más flexibilidad): es que puede agregar su propio controlador para buscar otras ubicaciones y cargarlas usted mismo.

En el método principal que se inicia su aplicación

AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainAssemblyResolve; 

agregar un controlador con su propio método para tomar el nombre y buscar otros lugares -

private static Assembly CurrentDomainAssemblyResolve(object setnder, ResolveEventArgs args) 
{ 
    return LoadEmbeddedAssembly(args.Name); 
} 

utilizo este método para incrustar DLL como recursos para que pueda tener un solo ejecutable para distribuir, pero también puede cargarlos desde un directorio.

Cuestiones relacionadas