.Net代码首次迁移反思问题

时间:2014-08-26 14:36:18

标签: c# visual-studio ef-code-first ef-migrations devforce

在我的解决方案的包管理器控制台中运行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.

我在其他similar stack overflow discussions中读到,通过以编程方式运行更新并捕获该异常,有时可以获得更多信息,所以我试过这个:

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();
}

上面的代码实际上成功地运行了更新而没有问题(在应用程序初始化时由Web浏览器运行时进行迁移)但是包管理器仍然在同一个Update-Database命令上失败并且具有相同的错误。我已经检查了启动项目,默认项目,引用复制本地设置,重新生成ibmmx文件,数据库恢复以及运行多个visual studio / OS重新启动。我也试过通过powershell访问异常信息,但没有找到任何东西。有没有人知道如何获得有关包管理器操作失败原因的更多信息?

具有相同底层数据库状态的相同设置(不同的数据库服务器,都在localhost上)在另一台开发计算机上运行时没有问题,所以它似乎是我的设置或安装特有的。我应该注意其他任何“陷阱”吗?

感谢。

更新:我可能已经太早谈到了在包管理器之外工作的迁移。我只是在工作开发机器上创建了一个,将它拉到我的本地机器上,发现它无法通过Web浏览器或包管理器中的应用程序初始化工作。

0 个答案:

没有答案