我正在尝试update-database
在其他机器上运行的 Entity Framework 5 项目中运行。
我下载了代码,重建了项目,运行时update-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.
我认为发生此错误是因为我的环境中缺少某些程序集,或者可能是因为在 GAC 中发现了不兼容的程序集。但是不知道哪种类型无法加载,我一无所知,所以这是一个非常难以调试的问题。
如何找出未能加载的类型或程序集?该消息说“检索 LoaderExceptions 属性以获取更多信息”,但是鉴于迁移在包管理器控制台中运行,而不是在我自己的代码中运行,我该怎么做?
在控制台中键入$Error[0].Exception
会显示异常消息,但我如何列出它的其他属性?