4

我遇到了 EF 迁移问题,特别是让“Enable-Migrations”命令正常工作。当我在包管理器控制台中执行命令时,我收到以下错误:

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 类型或命名空间。

更新: 我仍然没有解决方案,但是当我在包管理器控制台中运行“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
4

2 回答 2

2

经过几个小时的搜索,我找到了解决方案。它们的密钥位于Phil Haack 对“Chris”关于 Reflector 6.5 的回复中我安装了 Reflector(奇怪的是 7.0 版)并在 VS2010 中启用了 Reflector Add-On。在研究NuGet 常见问题解答后,我卸载了 Reflector 并禁用了 VS2010 加载项。这似乎已经解决了这个问题,因为我现在可以毫无问题地“安装包实体框架”和“启用迁移”。

于 2012-03-07T20:21:48.953 回答
0

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

重启VS2010,问题就解决了。

于 2012-03-08T03:59:53.673 回答