Czy istnieje sposób bezpiecznego korzystania z DirectoryCatalog do obsługi, jeśli katalog nie istnieje?MEF i DirectoryCatalog
Oto przykład kodu, jak mój pojemnik jest konfiguracja:
//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);
Ale jest wyjątek jeśli katalog nie istnieje, i chciałbym, aby zignorować ten błąd.
jest jakiś powód, że nie można po prostu sprawdzić istnienie katalogu przed konfigurowania 'AggregateCatalog'? –
Chciałbym, ale wydaje się, że w katalogu DirectoryCatalog znajduje się dobra logika do uzyskania poprawnej ścieżki (nie tylko bieżącego katalogu). Ktoś wie, czego używa? Assembly.Location? – jonathanpeppers
Skomentowałem odpowiedź poniżej, ale wspomnę o tym tutaj ... nie powinieneś polegać na sprawdzaniu samego istnienia katalogów. Powinieneś wziąć pod uwagę wszelkie wyjątki IOExceptions, które chcesz obsłużyć (np. Jeśli katalog nie istnieje lub pliki są zablokowane, lub UAT itp.). –