手动添加 Entity Framework 引用

5
我正在处理一个以EF为中心的项目。我的项目核心层被分成了不同的项目。
不幸的是,我经常会因为在我的项目中缺少EntityFramework.SqlServer.dll的引用而出现错误。
将.dll文件添加到我的构建文件夹可以解决此问题,但我想通过代码中的“using”语句来解决它,但由于我的项目中缺少对Entity Framework的引用,我无法这样做。
我想知道如何添加引用?
*PS如果我在“添加引用”面板中搜索EntityFramework,我没有得到EF作为选项。
**我总是可以使用NuGet安装它,但那不是多余的吗,因为我已经安装了它?
5个回答

7

我在使用EF的N层解决方案中遇到了同样的问题。

通过在Web项目中添加对EntityFramework.SqlServer.dll的引用解决了该问题。

操作步骤如下:引用 --> 添加引用,进入对话框后选择COM,按browse按钮。然后进入使用EF的项目中,进入EF引用存储的bin文件夹,选择EntityFramework.SqlServer.dll并添加它。

然后右键新添加的引用 --> 属性 --> 选中将复制到本地 enter image description here


太好了!是的,我知道,不是你吹嘘的那个:-D..我不知道你是否能称之为一个bug,但事实上,当你发布项目时,发布不正确,因为它没有包括所有引用。 - Marcus Höglund
4
这个想法不好——虽然在本地可能可行,但无法用于持续集成。MSbuild.exe 不知道该怎么做。你最好右键点击引用,然后管理 NuGet 包,在这个其他项目中简单地安装正确的包就可以了。 - T.S

5

你也可以通过右键单击项目 -> 管理Nuget包,并搜索"EntityFramework"来使用Nuget。从Microsoft安装Entity Framework with Nuget

这将添加EntityFramework和EntityFramework.SqlServer两个包。


0

我曾遇到过类似的情况。 我解决的方法如下: 进入“引用” -> 在程序集引用下,选择“浏览”,然后转到当前项目包文件夹并浏览特定版本的entityframework.dll和entityframework.sqlserver.dll。 这解决了构建问题。


0

我也遇到了这个问题。我通过一个单独的数据访问程序集访问EF,当我从同一项目内的测试控制台应用程序调用它时,EF运行得非常完美,但是当我尝试通过我的DAL对象的实例从主应用程序中访问它时,它会出现错误。

我已经将这两个引用添加到主应用程序中,但仍然出现错误。

然后我意识到实际问题所在。我需要将DAL项目中的App.config中的EF配置部分带到主应用程序中。

一旦我完成了这个步骤,一切都运行得非常完美。基本上,您需要复制连接字符串和entityFramework部分的内容。

否则,EF不知道如何连接自己。

当然,如果您在DAL内部的代码中创建EF连接,则可能不会遇到此问题。


0

这是我对类似问题的回答。在我的控制器的“Tests”中,我的命名空间引用下面出现了红色波浪线。答案就像上面建议的那样。TEST控制器缺少原始控制器的引用。解决方法是进入Tests项目的引用,右键单击,添加引用。在新窗口中,选择“项目”下拉菜单到“解决方案”选项卡,然后勾选原始项目的复选框。我知道这个答案对于更有经验的用户来说非常简单,但我们几个人花了很多时间才想出来。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接