50

我有一个解决方案 - 一个项目是具有 .edmx 数据模型的类库另一个是 asp.net Web 表单项目。

当我启动解决方案时,出现以下异常:

'System.Data.Entity.DbContext' 类型在未引用的程序集中定义。您必须添加对程序集“EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

当我在我的 asp.net 项目中看到引用时,我看到了对我的类的引用,而我看不到对实体框架的引用。但问题是实体框架安装在我的类库和网络项目中

4

10 回答 10

64

我认为你的EntityFramework版本很混乱

请使用NuGet软件包安装程序下载正确的版本。

请参阅此讨论以了解入门:找不到类型或命名空间名称“DbContext”

看看同样的问题和答案:在这里

于 2013-09-28T07:38:27.277 回答
11

我发现这个解决方案适合我。

添加实体框架 DLL 参考:-

  1. 转到 c:\Program Files (x86)\Microsoft ASP.NET\ASP.NETMVC 4\Packages\EntityFramework 5.0.0-rc\lib\net45

  2. 添加实体框架 DLL

于 2014-03-19T08:57:42.233 回答
6

我建议你检查:

Allow NuGet to download missing packages during build打勾请参考此链接

于 2013-09-28T07:43:25.737 回答
6

如果某人有多个项目,则需要将其安装到需要它的项目中。还有什么帮助我改变了默认项目,然后通过包管理器控制台安装并解决了它。

于 2014-11-19T15:55:46.257 回答
2

我有同样的问题,我终于解决了。你应该做的是在你的电脑上卸载实体框架的每个实例。如果您使用安装文件安装它,则必须从添加/删除程序中将其删除,如果您使用 nugget 软件包安装它,则必须从那里卸载它。

然后使用 nugget 包再次安装并重新启动 Visual Studio。这解决了我的问题。

于 2014-07-12T05:13:06.087 回答
2

这样做,它将解决问题,因为您似乎没有正确安装实体框架或它无法正常工作,转到 VS2012 中的工具 > 库包管理器 > 包管理器控制台并输入install-package EntityFramework

于 2018-01-26T16:28:45.123 回答
0

当我将一个项目从 SVN 拉到一台新计算机上时,我遇到了这个问题。通过 NuGet 安装实体框架解决了这个问题。我安装了最新版本,现在是 6.1.1

于 2014-07-25T18:41:30.587 回答
0

我已经有了实体框架 DLL 的正确版本,这里没有其他答案对我有用:我必须在项目中选择 EntityFramework 引用,然后在属性中,将“特定版本”设置为 true。

于 2014-08-15T11:31:31.960 回答
0

错误消息告诉您带有 .edmx 数据模型的类库已加载 Entity Framework 5 ...(显然是因为 .edmx 中没有错误消息)...并且您的 Web 项目正在引用该类库。 ..所以它可以访问类库中的所有内容...但是它无法处理类库中的数据类型,因为您的 Web 项目需要对实体框架 5 的引用。您还会注意到您的智能感知不起作用对于您的类库中的对象。

只需在您的 Web 项目中添加对实体框架 5 的引用......以及您的所有设置。

于 2015-05-12T20:15:57.497 回答
0

在 *.csproj 文件中添加正确的引用。在我的 CAS 中,我在 *.csproj 文件中添加了以下内容并解决了问题。

 <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
      <Private>True</Private>
    </Reference>
于 2017-07-30T09:06:13.620 回答