关于entity framework迁移的空引用

当我使用Entity Framework迁移的Add-Migration命令时,我得到以下exception:

System.NullReferenceException: Object reference not set to an instance of an object. at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetFileName(Project project, String projectItemName) at System.Data.Entity.Migrations.MigrationsCommands..ctor(Object project, Object startUpProject, String configurationTypeName, String connectionStringName, String connectionString, String connectionProviderName, PSCmdlet cmdlet)

任何见解?

之前我在解决方案中有多个项目并且选择“错误”项目作为启动项目时已经看到了这一点。 例如,有人报告说,在Azure托管的MVC3网站中,他们将Azure项目作为启动项目而不是MVC项目。 当启动修复问题时切换到MVC项目。

更新:这已在EF5-beta2中修复,现在可在NuGet上使用。

实际上,只需使用正确的标志和参数调用任何EF命令,就可以非常轻松地在Package Manager控制台中指定目标项目,例如,给定一个名为ProjectFoo的项目,该项目来自具有多个项目的解决方案:

  • enable-migrations -projectname projectfoo
  • add-migration "Initial" -projectname projectfoo
  • update-database -projectname projectfoo等…

非常简单。