【问题标题】:ASP.Net web forms compilation says Entity Framework reference missingASP.Net 网络表单编译说缺少实体框架参考
【发布时间】:2011-12-15 21:20:39
【问题描述】:

我有一个使用 ASP.Net Webforms 和 Entity Framework 的网站,在编译期间 VS2010 告诉我以下错误:

错误 CS0012:“System.Data.Objects.DataClasses.EntityObject”类型在未引用的程序集中定义。您必须添加对程序集“System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

问题是在 web.config 中正确配置了引用

项目的属性页说项目使用的Framework版本是v3.5,没错。

任何帮助将不胜感激。

这是我的 web.config 中的程序集部分

<assemblies>
    <add assembly="System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>. 

【问题讨论】:

  • 引用是否出现在 Project/References 下?
  • 添加对项目文件的引用。右键单击项目并添加引用。
  • 您是否直接从您的 UI 使用 EF?检查这个也适用于网络表单stackoverflow.com/questions/7474267/mvc3-and-entity-framework/…
  • 引用显示在项目中应该出现的任何地方。这绝对是一些环境/框架问题。
  • 我在另一台PC上安装了VS2010,必须来回切换我正在使用的框架版本。最后我将版本设置为 3.5,然后项目编译没有错误或警告。有什么线索吗?

标签: asp.net entity-framework


【解决方案1】:

你能显示你的 web.config 引用吗?我的猜测是版本 # 已关闭,或者 GAC 中可能未安装 EF 组件。

  1. 检查 web.config 中是否引用了您想要的确切版本
  2. 如果程序集在您的 bin 目录中,请在 Windows 资源管理器中右键单击它并选择“属性”并找到版本。确保它与 web.config 匹配。
  3. 如果您依赖 GAC,请在 Windows 资源管理器中打开 c:\windows\assembly 以查看是否存在 EF 程序集的确切版本

【讨论】:

【解决方案2】:

我得到的唯一情况是项目中缺少 DLL,而且它可能不仅仅是根项目。如果您有另一个使用 EntityObject 类的项目,但它在那里丢失,您将收到错误消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多