¿Hay alguna forma de usar DirectoryCatalog de forma segura para gestionar si el directorio no existe?MEF y DirectoryCatalog
Aquí un ejemplo de código de cómo mi contenedor es de configuración:
//Create an assembly catalog of the assemblies with exports
var catalog = new AggregateCatalog(
new AssemblyCatalog(Assembly.GetExecutingAssembly()),
new AssemblyCatalog(Assembly.Load("My.Second.Assembly")),
new DirectoryCatalog("Plugins", "*.dll"));
//Create a composition container
var container = new CompositionContainer(catalog);
Pero se produce una excepción si el directorio no existe, y me gustaría hacer caso omiso de ese error.
¿Hay una razón por la que no se puede simplemente comprobar la existencia del directorio antes de instalar el 'AggregateCatalog'? –
Lo haría, pero parece que hay una buena lógica integrada en DirectoryCatalog para obtener la ruta correcta (no simplemente el directorio actual). Alguien sabe lo que usa? Assembly.Location? – jonathanpeppers
Comenté la respuesta a continuación, pero también lo mencionaré aquí ... no debe confiar en comprobar la existencia de directorios solo. Debe tener en cuenta las IOExcepciones que desee controlar (es decir, si el Directorio no existe, o si los archivos están bloqueados, o UAT, etc.) –