Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MEF。如何确保dll是可组合的_C#_Plugins_Mef - Fatal编程技术网

C# MEF。如何确保dll是可组合的

C# MEF。如何确保dll是可组合的,c#,plugins,mef,C#,Plugins,Mef,我正在向MEF目录添加一堆程序集,当我尝试获取导出时,它会引发异常。如何确保程序集是可组合的(另一种说法是MEF不会哭) 谢谢你的帮助 更新: 这是我的密码: AggregateCatalog catalog = new AggregateCatalog(); foreach (DirectoryInfo childDir in directory.GetDirectories("*.*", SearchOption.AllDirectories))

我正在向MEF目录添加一堆程序集,当我尝试获取导出时,它会引发异常。如何确保程序集是可组合的(另一种说法是MEF不会哭)

谢谢你的帮助

更新:

这是我的密码:

        AggregateCatalog catalog = new AggregateCatalog();
        foreach (DirectoryInfo childDir in directory.GetDirectories("*.*", SearchOption.AllDirectories))
        {
            catalog.Catalogs.Add(new DirectoryCatalog(childDir.FullName));
        }
        Container = new hosting.CompositionContainer(catalog);
        var plugins = Container.GetExports<Lazy<Func<object, EventArgs>, IMyMetaData>>();//I Get exception in here
AggregateCatalog catalog=new AggregateCatalog();
foreach(DirectoryInfo childDir位于directory.GetDirectories(“*.*”,SearchOption.AllDirectories))
{
catalog.Catalogs.Add(新目录catalog(childDir.FullName));
}
容器=新的宿主.CompositionContainer(目录);
var plugins=Container.GetExports()//我这里有例外
发生类型为“System.TypeLoadException”的第一次意外异常 在MyDll.dll中的其他信息:无法从加载类型“XXX” 程序集“YYY”,版本=0.0.0.0,区域性=中性, PublicKeyToken=null'


提供更多信息并显示一些代码。例外情况是什么?将程序集添加到目录的代码是什么?尝试获取导出的代码是什么?@ChrisO请查看我的更新。