有没有办法安全地使用DirectoryCatalog来处理目录是否存在?MEF和DirectoryCatalog
这里我的容器是如何建立一个代码示例:
//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);
但是,如果目录不存在抛出一个异常,我想忽略这个错误。
有没有,你不能只检查用于设置'AggregateCatalog'之前所在的目录存在的理由? –
我会的,但似乎有一些很好的逻辑内置到DirectoryCatalog中以获取正确的路径(不仅仅是当前目录)。任何人都知道它的用途? Assembly.Location? – jonathanpeppers
我对下面的答案进行了评论,但我在这里也会提到它......你不应该仅仅依靠检查目录的存在。你应该考虑到你想要处理的任何IOException(例如,如果Directory不存在,或者文件被锁定或UAT等) –