У меня есть три проекта:
- Приложение ASP.NET Core MVC (для .NET Framework 4.6.2)
- Библиотека классов, содержащая мои EF Core Модели, Миграциии классы DbContext (для .NET Standard 2.0, ранее .NET Framework 4.6.2).
- Консольное приложение для обновления базы данных с помощью EF Core Migrations (для .NET Framework 4.6.2).
1 и 3 ссылаются на 2. Я только что заменил старую библиотеку классов .NET Framework новой, ориентированной на .NET Standard.Библиотека классов использует пакет Microsoft.EntityFrameworkCore.Proxies
NuGet.
Все собирается без ошибок, все мои модульные тесты запускаются, а приложение ASP.NET Core запускается без проблем.Моя проблема в том, что консольное приложение для обновления базы данных строит, запускает, но сталкивается с ошибкой времени выполнения, когда оно инициализирует DbContext
в этой строке в конструкторе:
ChangeTracker.LazyLoadingEnabled = false;
Sayingчто он не может загрузить сборку Microsoft.EntityFrameworkCore.Proxies
.В ходе расследования я обнаружил, что файл Microsoft.EntityFrameworkCore.Proxies.dll
не был в выводе сборки консольного приложения или проекта библиотеки классов.Единственным .dll в выходных данных проекта библиотеки классов был сам проект .dll, старая версия .NET Framework также содержала все .dll пакета NuGet в выводе, и она работала нормально, используя инструмент обновления базы данных.
Есть ли что-то еще, что необходимо для включения зависимостей в выходные данные стандартной библиотеки .NET?