Я немного изучил структуру сущностей и начал писать несколько тестовых примеров.
У меня возникает проблема, из-за которой я не могу загрузить сборку в тестовом примере, хотя я могу сделать это просто отлично (и версии сборок одинаковы) в самом приложении .net.
Я получаю ошибку:
Сообщение: System.IO.FileLoadException: не удалось загрузить файл или сборку
'Npgsql.EntityFrameworkCore.PostgreSQL, версия = 2.0.2.0,
Культура = нейтральная, PublicKeyToken = 5d8b90d52f46fda7 'или один из
зависимостей. Подпись строгого имени не может быть проверена.
сборка могла быть подделана или подписана с задержкой, но не
полностью подписан с правильным закрытым ключом. (Исключение из HRESULT:
0x80131045)
Работает в приложении .net
Я начал с того, что приложение Windows Forms работает нормально.
Это использует SimpleInjector, EF Core, Npgsql против локальной базы данных postgres.
Я получил это, чтобы работать просто отлично (создание БД, миграции и т. Д.), С DataContext (мой DbContext) загружается так:
DbContextOptionsBuilder builder = new DbContextOptionsBuilder<DataContext>();
DbContextOptions<DataContext> options = (DbContextOptions<DataContext>)builder.UseNpgsql(connectionString).Options;
return new DataContext(options,NLog.LogManager.GetCurrentClassLogger());
Я могу провести простой тест перечисления организаций из БД. В настоящее время это делается в Form1.
Итак, на тесты (где у меня проблемы)
Я добавил те же зависимости в новую библиотеку классов «Тестирование» (EF Core, Npgsql и т. Д.). У меня также есть зависимость от проекта EntityFrameworkTest, поэтому я могу ссылаться на его модели.
Я упростил тестовый пример (OrgDBTest), чтобы он пытался создать контекст в своем конструкторе. Я сделал это так, что я знаю, что моя проблема не имеет ничего общего с SimpleInjector.
Я ожидаю, что тест запустится, и в его конструкторе будет создан DbContext. Однако я не могу заставить его загрузить сборку, чтобы я мог создать свой DbContext ... чтобы я мог продолжать создавать / играть с тестами.
Код здесь (довольно маленький):
https://github.com/scornflake/entityframework-learn
Но потеряно, так как кажется, что я делаю то же самое в тестовом примере, что и в приложении, но загрузка сборки выглядит несколько иначе.
Есть идеи?