При запуске Update-Database в консоли диспетчера пакетов моего решения я получаю следующую ошибку:
PM> Update-Database
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.FindType[TBase](String typeName, Func`2 filter, Func`2 noType, Func`3 multipleTypes, Func`3 noTypeWithName, Func`3 multipleTypesWithName)
at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.FindConfiguration()
at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.GetMigrator()
at System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.RunCore()
at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
В других подобных обсуждениях переполнения стека я читал, что иногда можно получить больше информации. получено путем программного запуска обновления и перехвата этого исключения, поэтому я пробовал это:
static void Main(string[] args)
{
//https://stackoverflow.com/questions/15774247/how-to-debug-entity-framework-migration-loaderexceptions
DbMigrator migrator = new DbMigrator(new Configuration());
migrator.Update();
}
Приведенный выше код фактически успешно запускает обновление без проблем (как и миграция при запуске веб-браузером при инициализации приложения), но диспетчер пакетов по-прежнему не выполняет ту же команду Update-Database с той же ошибкой. Я проверил стартовые проекты, проекты по умолчанию, справочные локальные настройки копирования, повторное создание файла ibmmx, восстановление базы данных и запуск нескольких перезапусков Visual Studio/OS. Я также пытался получить доступ к информации об исключениях через powershell, но ничего не нашел. Кто-нибудь знает способ получить больше информации о том, почему операции диспетчера пакетов не выполняются?
Эта же настройка с теми же базовыми состояниями базы данных (разные серверы баз данных, оба на локальном хосте) работает без проблем на другой машине разработки, поэтому, похоже, это что-то специфичное для моей настройки или установки. Есть ли какие-либо другие «подводные камни», о которых я должен знать?
Спасибо.
Обновление: возможно, я слишком рано упомянул о миграции, работающей вне менеджера пакетов. Я только что сделал один на рабочей машине разработчика, перетащил его на свой локальный компьютер и обнаружил, что он не работает через инициализацию приложения в веб-браузере или диспетчере пакетов.