【问题标题】:Could not locate assembly "EntityFramework"找不到程序集“EntityFramework”
【发布时间】:2011-09-23 19:29:47
【问题描述】:

我在家用电脑上开发这个 MVC 3 应用程序已经有一段时间了。我在另一台计算机上出城,所以我从源代码管理中获得了该项目。这台新电脑还没有 MVC 3,所以我在将项目复制到新电脑后安装了它。

我的很多 dll(如 MvcContrib.dll)丢失了,因为当我第一次在家用计算机上创建项目时,我没有将 Copy Local 设置为 true。所以我一直在下载所有丢失的 dll 并将它们添加到我的项目中。

我唯一找不到的是EntityFramework.dll。我找不到它的下载,当我尝试添加引用时,我没有将它视为 .NET dll。

我在尝试构建时收到此警告: 无法解析此引用。找不到程序集“EntityFramework”

【问题讨论】:

    标签: c# asp.net asp.net-mvc visual-studio entity-framework


    【解决方案1】:

    如果之前安装了 EntityFramework,您还可以使用浏览手动添加引用。在您的项目文件夹中选择以下文件:\packages\EntityFramework.5.0.0\lib\net4x\EntityFramework.dll

    如果您的 packages.config 中缺少以下内容,请添加以下内容:

    <packages>
        <package id="EntityFramework" version="5.0.0" targetFramework="net4x" />
    </packages>
    

    【讨论】:

      【解决方案2】:

      当您在项目中手动删除 EntityFramework 引用时,也会发生这种情况。

      如果您丢失了引用,您可以在 packages.config 中删除 EntityFramework 的条目

      <packages>
          <package id="EntityFramework" version="5.0.0" targetFramework="net40" />
      </packages>
      

      删除后,您可以通过包管理器重新安装包(管理 NuGet 包)

      【讨论】:

      • +1。当我在 VS2012 中打开 VS2010/EF4.1 项目时,这对我有用,并且即使在将解决方案升级到 .NET 4.5 并通过 NuGet 安装 EF5 之后也看不到 EntityFramework 参考。然后我听从了 Mark 的建议,现在我的项目中有参考。
      • 谢谢,这正是您需要了解的那种实现细节,以了解当 Microsoft 的工具以某种方式出现问题(就像它们总是这样)并且无法自行修复时。
      【解决方案3】:

      如果您还没有 - 在 Visual Studio 中安装 Nuget extension

      使用 Nuget 不仅可以让您拥有包含源代码的包(在包目录中),还可以帮助您保持最新状态。理想情况下,您所依赖的外部依赖项应该包含在您的解决方案中,这样就不会发生像您这样的情况。

      正如 The Evil Greebo 所说,您需要go here 才能获得 Visual Studio 工具。虽然 Nuget 包将提供代码级支持,但该工具位于安装程序中。我两者都用,所以如果包有更新,它会显示在 Nuget 更新通知中。

      【讨论】:

        【解决方案4】:

        我自己通过下载 ASP.NET MVC 工具更新解决了类似的问题。你有没有机会在另一台电脑上错过它?

        【讨论】:

          【解决方案5】:

          【讨论】:

          • 从Framework 4.0下载页面;实体框架使开发人员能够使用 .NET 对象和语言集成查询 (LINQ) 针对关系数据库进行编程。这不是单独安装。
          • EF 4.1 是 - 但我确实假设他想要最新版本。 :)
          【解决方案6】:

          下载并安装 Framework 4.0 并包含在内。

          http://www.microsoft.com/download/en/details.aspx?id=17851

          【讨论】:

          • 它说我已经在这台计算机上安装了 EF 4.0。我假设它包含在 MVC 3 Tools 更新中。问题可能是我在将 MVC 3 项目复制到这台计算机后下载了更新?
          • 没关系,我刚刚创建了一个新项目,其中包含 dll。然后我只是从那个项目中添加了对它的引用。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-19
          • 2018-11-16
          • 2019-06-06
          • 2011-03-20
          • 2011-03-02
          • 2017-06-28
          相关资源
          最近更新 更多