实体框架迁移问题

时间:2012-03-05 23:20:23

标签: entity-framework entity-framework-4.3

我遇到EF迁移问题,特别是启用“启用迁移”命令。当我在程序包管理器控制台中执行该命令时,收到以下错误:

  

System.Management.Automation.PSArgumentException:找不到类型System.Data.Entity.Migrations.MigrationsCommands]:确保已加载包含此类型的程序集。
      在System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)
      找不到类型[System.Data.Entity.Migrations.MigrationsCommands]:确保已加载包含此类型的程序集。

在我看来,NuGet控制台无法从我的EF程序集中找到MigrationsCommands类型。我已经检查过,程序集是最新的(4.3.1),从对象浏览器中我无法找到MigrationsCommands类型或命名空间。

更新:我仍然没有解决方案,但是当我在Package Manager控制台中运行“Install-Package EntityFramework”命令时,看起来问题的根源在以下输出中。错误在这里:

Unable to find type [ConnectionFactoryConfiguratorInvoker]: make sure that the assembly containing this type is loaded.
At C:\...\packages\EntityFramework.4.3.1\tools\install.ps1:36 char:39
+ [ConnectionFactoryConfiguratorInvoker] <<<< ::Invoke((Join-Path $toolsPath "EntityFramework.PowerShell.dll"), $project)
+ CategoryInfo          : InvalidOperation: (ConnectionFactoryConfiguratorInvoker:String) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound

2 个答案:

答案 0 :(得分:2)

经过几个小时的搜索,我找到了解决方案。密钥位于Phil Haack对“Chris”关于Reflector 6.5的回应中Here。我安装了Reflector(足够奇怪的7.0版本),并在VS2010中启用了Reflector Add-On。研究NuGet FAQ我卸载的Reflector并禁用VS2010加载项。这似乎解决了这个问题,因为我现在可以“安装 - 包实体框架”和“启用 - 迁移”而不会出现问题。

答案 1 :(得分:0)

在VS2010中禁用加载项 (工具 - 选项 - 环境 - 加载项/宏安全性/允许加载项组件) 如果安装在VS2010中,请禁用ReSharper (工具选项 - ReSharper的悬式)

重启VS2010,问题将得到解决。