EF 5&执行添加迁移时出现VS 11错误

时间:2012-03-25 12:29:11

标签: visual-studio entity-framework visual-studio-2012 entity-framework-5

我刚刚安装了VS 11并创建了一个类库项目。然后我添加了实体框架5 beta。然后我创建了一个简单的用户类和dbcontext类。然后我使用了控制台命令“Enable-Migrations -EnableAutomaticMigrations”,它运行得很好,并添加了相应的迁移目录和配置文件。问题是当我运行“Add-Migrtion InitialMigration”时,我收到以下错误。

System.Reflection.TargetInvocationException:调用目标抛出了异常。 ---> System.IO.FileNotFoundException:无法加载文件或程序集'System.Data.Entity,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一。该系统找不到指定的文件。 ---> System.IO.FileNotFoundException:无法加载文件或程序集'System.Data.Entity,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一。系统找不到指定的文件。

我之前安装了EF 4.2,但是我卸载了它。事实上,在我第一次尝试这个并且它失败后,我已经卸载了VS,SQL和任何相关的东西。然后我重新启动并简单安装了visual studio 11并再次尝试,但仍然得到相同的错误。我怀疑这与之前的实体框架安装有关,但我不知道如何理顺它。

我在Win 7上运行 我已经尝试了这里所描述的gacutil Can anyone spot why I keep getting this error testing the EF 5 beta,但是我觉得它没有找到任何可以删除的内容。

2 个答案:

答案 0 :(得分:0)

System.Data.Entity.dll 4.2.0.0仅作为EF June 2011 CTP的一部分发货。看起来你正在编译的代码正在引用这个程序集,或者它正在使用的其他一些代码正在期待这个程序集。检查项目中的引用,并确保它们不引用此程序集,并且引用的任何其他项目或程序集本身不引用此程序集。如果找到引用,则需要删除它们并针对.NET 4.5和EntityFramework.dll 5.0进行重建。

答案 1 :(得分:0)

解决此问题的最佳方法是在取消CTP后从GAC删除此文件夹:

的Windows \ Microsoft.NET \组件\ GAC_MSIL \ policy.4.0.system.data.entity