【问题标题】:Could not load file or assembly 'EntityFramework (1)'无法加载文件或程序集“EntityFramework (1)”
【发布时间】:2012-08-10 19:29:17
【问题描述】:

错误如下:
C:\Users\[username]\Google Drive\VS2010\Projects\[project name]\[project name]\Views\Show\EditOrder.cshtml: ASP.NET runtime error: Could not load file or assembly 'EntityFramework (1)' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.

大家好,
这里有一个奇怪的问题。 看似随机我的项目完全无聊本身。一点背景知识:这是一个 ASP.Net MVC3 (.Net Framework 4) 项目,我主要在 Visual Web Developer 2010 Express 中编写。我说主要是因为您会在上面的详细错误中注意到我已将其存储在我的 Google Drive 上。我正在将这个项目来回同步到我的新开发笔记本电脑,并安装了 Visual Studio 2010 Professional。这可能不是一个好主意,但我想要一种简单的方法在我的台式机(办公室)、家里(在我的开发笔记本电脑上)和路上(再次,开发笔记本电脑)上处理它。 /p>

对可能发生的事情有什么想法,以及如何解决这个问题?

更多背景知识,现在我记起来了……我在将它发布到我们的本地 IIS 6 服务器时遇到了问题。我意识到我必须将_bin_deployableAssemblies 添加到包中才能正常工作。在某个时候,我从项目中删除了它们并重新添加了它们。 很可能在那个时候,或者至少在几个小时内,这个问题就开始发生了。

我可以休息一下吗?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 visual-studio-2010 visual-web-developer-2010


    【解决方案1】:

    您的 MVC 3 项目引用了一个版本的 Entity Framework,但实际上在尝试解决您收到此错误的计算机上对 Entity Framework 的引用时发现了另一个版本。

    最简单的解决方案可能是在您收到错误的当前计算机上更新到当前版本的 Entity Framework。

    如果您在常规文本编辑器(例如记事本)中打开项目的 .csproj 文件,您应该会看到与此类似的一行:

    <Reference Include="EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\packages\EntityFramework.4.3.1\lib\net40\EntityFramework.dll</HintPath>
    </Reference>
    

    这将告诉您您的应用程序期望找到的版本。如果你看到了

    <SpecificVersion>False</SpecificVersion>
    

    然后可以使用预期版本或更高版本。

    解决此类加载问题的另一种方法是使用Fusion Log Viewer,它将向您显示失败的绑定尝试以及加载程序尝试了什么(确保确保您以管理员身份运行它,否则它将默默地什么都不做)。

    【讨论】:

    • &lt;Reference Include="EntityFramework"&gt; &lt;HintPath&gt;..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll&lt;/HintPath&gt; &lt;/Reference&gt; 这就是我的样子。我应该以某种方式更新这个文件?
    • 我将更新到 4.x 系列中的最新实体框架(EF 5 将在任何一天发布,如果没有计划专门的测试时间,我不会从 4.x 更新到 5)。然后删除对实体框架的引用并重新添加。
    • 好吧,我必须更新 Nuget 才能真正更新 EF,但它仍然无法正常工作。 :( link 用于命令的输出。
    • 您是否还删除并重新添加了对实体框架的引用?你仍然得到完全相同的错误吗? Fusion Log Viewer 对 .NET 如何尝试解析实体框架引用有何看法?
    • 我做到了,但仍然没有帮助。我已经用我的答案解决了这个问题,但还不能标记它。请原谅错别字等,在移动设备上。
    【解决方案2】:

    血腥的奇怪..

    查看我的 /[Project Name]/bin 文件夹,我发现了 4 个奇怪的文件:

    EntityFramework (1).dll
    EntityFramework (1).xml
    [Project Name] (1).dll
    [Project Name] (1).pdb
    

    无论如何,在删除他们并进行重建之后,一切都很好!

    (有人对如何为什么发生这种情况有任何想法吗?可能是 Google Drive 的问题,现在我正在考虑它... p>

    【讨论】:

      【解决方案3】:

      对我来说这是 Google 云端硬盘的问题。如果您删除 Project/bin 文件夹中所有以 (1) 结尾的文件,应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-04
        • 1970-01-01
        • 2015-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-10
        • 2012-09-27
        相关资源
        最近更新 更多