使用EF 5(而不是4.x)

本文关键字:EF 使用 | 更新日期: 2023-09-27 18:19:13

我现在已经浪费了几天时间试图让EF再次工作。据我所知,我的项目有一些参考EF4,即使我一直试图使用EF5。

有人能指出我需要做的任何步骤,从我的计算机中消除所有与EF4相关的开发参考(如果我有使用它的第三方。net应用程序,很好-我只是不想在我的任何开发中使用它。)

现在,什么都没有工作,因为两个版本的EF似乎在互相争斗-即使我开始一个新项目。

此外,如果我只是使用EF 5,当我想创建一个新的EF类,我会使用"ADO"。. NET实体数据模型"或"EF 5"。x DbContext生成器"?我假设第一个是第二个似乎想要创建一个tt文件,而不是一个edmx文件,但我想我会检查一下,以防我错过了一些明显的东西…

我在win8系统上开发,运行VS 2012,使用c#,正在编写一个大型桌面WPF应用程序(一个解决方案,许多项目,大量数据)

fww -我目前的非功能解决方案文件夹中的软件包文件夹有EntityFramework.5.0.0,所以我知道我已经安装了,我只需要消除EF 4。X引用,无论它们从哪里感染我的项目。是的,我花了很多时间寻找一个可行的答案——但我找到的东西似乎都不允许它奏效。

最糟糕的部分是,在某一点上,它都工作没有问题-然后我试图通过Nu-Get重新安装EF 5来修复一些问题,从那时起,什么都没有工作。

谢谢

使用EF 5(而不是4.x)

不确定这是否会解决你的问题,但它可能会有所帮助…当您使用nuget时,它操纵您的解决方案:

  • EF nuget包被添加到解决方案根目录
  • 的'packages'文件夹中
  • 上使用nuget的解决方案中的每个项目创建一个packages.config文件。
  • 在项目文件(*)中添加了一个引用。csproj For c#)

有时您可能需要更改nuget所做的工作,以便您可以检查这些区域。在你的情况下,你可能最好手动删除两个EF版本,然后使用nuget或任何适合的方法添加EF5。

听起来你可能已经删除了EF包,但没有整理你的包。配置和项目文件,所以先检查那里(你会想要在你的VS解决方案关闭时编辑它们)。

您希望从每个包中删除以<package id="EntityFramework"...开头的行。配置文件。

如果您希望从解决方案中完全删除nuget,则csproj文件具有<itemgroup><Content Include="packages.config" /> -删除整个项目组,可能还有我错过的对该文件的其他引用,并且您也希望删除它们。

否则,如果你只是在删除EF的东西之后,然后寻找有你的引用的<itemgroup>,并确保不需要的EF版本的引用不在那里。

我认为这就是你所需要的——当你在VS中重新加载解决方案后,你的引用应该是正确的。

我已经放弃了。这太浪费时间了。我从零开始了一个新的解决方案,首先构建了EF项目,并确保它能正常工作。这工作。所以现在我正在系统地引入其他项目,在我进行的过程中进行备份,直到我将所有其他项目都纳入新的解决方案。

一个大皮塔饼。我真的希望MS有一个工具可以显示项目引用的所有程序集-名称,程序集位置和引用它的模块-这样就可以很容易地解决这些问题....

再次感谢您的帮助。