3

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

System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.IO.FileNotFoundException:无法加载文件或程序集“System.Data.Entity,版本=4.2.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。该系统找不到指定的文件。---> System.IO.FileNotFoundException:无法加载文件或程序集“System.Data.Entity,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089”或其依赖项之一。该系统找不到指定的文件。

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

我在 Win 7 上运行我已经尝试过这里描述的 gacutil任何人都可以发现为什么我在测试 EF 5 beta 时不断收到这个错误,但我猜它没有找到任何可以删除的东西。

4

2 回答 2

0

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

于 2012-03-25T15:15:47.757 回答
0

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

Windows\Microsoft.NET\assembly\GAC_MSIL\policy.4.0.system.data.entity

于 2013-07-03T20:14:47.093 回答