невозможно загрузить зависимость EntityFrameworkCore в плагине MEF - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть новое приложение .net core mvc, n-уровневая структура, использующая mef для загрузки каждого слоя в качестве плагина.Проблема, которую я имею, использует mef для загрузки слоя доступа к данным, когда он использует пакет nuget ядра структуры сущностей.я получаю: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.2.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified, когда я звоню CreateContainer().

Я вручную пытался добавить dll-файлы зависимостей в выходной каталог, но пока безрезультатно.я также определил область действия моего файла, чтобы загрузить только те библиотеки DLL, которые соответствуют именам моих библиотек.По-прежнему.

Я создал фиктивный проект на github , чтобы показать ошибку, которую я получаю.Фактический код взрывается в строке 96 при запуске проекта Mvc.

var registrar = new ModuleRegistrar(services);
var conventions = new ConventionBuilder();
conventions
    .ForTypesDerivedFrom<IModule>()
    .Export<IModule>()
    .Shared();

var dir = Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().Location).LocalPath);
var dlls = Directory.GetFiles(dir, "TestMEF*.dll", SearchOption.AllDirectories);
var asms = dlls.Select(AssemblyLoadContext.Default.LoadFromAssemblyPath).ToList();
var cfg = new ContainerConfiguration().WithAssemblies(asms, conventions);

using (var container = cfg.CreateContainer())
    foreach (var module in container.GetExports<IModule>())
        module.Register(registrar);

, если у кого-то есть самая туманная идея, почему это так, это было бы очень признательно.

...