C#MEF依赖注入:无法加载模块中的类

C#MEF依赖注入:无法加载模块中的类,c#,xamarin,mono,C#,Xamarin,Mono,我想使用MEF来实现依赖注入。但是,当尝试加载所有不同的.dll文件时,它总是运行到System.Reflection.ReflectionTypeLoadException中:无法加载模块中的类。尝试加载“Microsoft.AspNet.Identity.Owin.dll”时会发生这种情况 我正试图在mac上使用mono编译器和设置为:.NET framework 4.5.2的目标框架来实现这一点 #region Constructor public ModuleConfig

我想使用MEF来实现依赖注入。但是,当尝试加载所有不同的.dll文件时,它总是运行到System.Reflection.ReflectionTypeLoadException中:无法加载模块中的类。尝试加载“Microsoft.AspNet.Identity.Owin.dll”时会发生这种情况

我正试图在mac上使用mono编译器和设置为:.NET framework 4.5.2的目标框架来实现这一点

    #region Constructor
    public ModuleConfigurationCatalog()
    {
        var assemblyUri = new Uri(Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath));
        var assemblyDir = assemblyUri.LocalPath;

        var allFiles = Directory.EnumerateFiles(assemblyDir, "*.*", SearchOption.AllDirectories);
        var assemblies = allFiles.Where(f => f.EndsWith(".dll", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".exe", StringComparison.OrdinalIgnoreCase)).Distinct();

        _catalog = new AggregateCatalog();

        foreach (var assembly in assemblies)
        {
            var assemblyCatalog = new AssemblyCatalog(assembly);

            if (assemblyCatalog.Parts.ToList().Count > 0)
            {
                _catalog.Catalogs.Add(assemblyCatalog);
            }
        }
    }
    #endregion


您可能缺少Microsoft.AspNet.Identity.Owin.dll程序集的依赖项。确保其所有依赖项都存在于同一文件夹中。(或者从GAC加载它(如果它存在的话)……但不知道如何使用MEF实现。)

您可能缺少Microsoft.AspNet.Identity.Owin.dll程序集的依赖项。确保其所有依赖项都存在于同一文件夹中。(或者从GAC加载它(如果它存在的话)……但不知道如何使用MEF实现。)

您可能缺少Microsoft.AspNet.Identity.Owin.dll程序集的依赖项。确保其所有依赖项都存在于同一文件夹中。(或者从GAC加载,如果它存在的话……不知道如何使用MEF。)@wablab谢谢,我将所有依赖项添加到引用中,解决了问题。我将添加它作为答案,以便您可以接受它来结束问题。谢谢您可能缺少Microsoft.AspNet.Identity.Owin.dll程序集的依赖项。确保其所有依赖项都存在于同一文件夹中。(或者从GAC加载,如果它存在的话……不知道如何使用MEF。)@wablab谢谢,我将所有依赖项添加到引用中,解决了问题。我将添加它作为答案,以便您可以接受它来结束问题。谢谢