0

错误如下:
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。这可能不是一个好主意,但我想要一种简单的方法来在我的台式机(办公室)、家里(在我的开发笔记本电脑上)和在路上(同样是开发笔记本电脑)上处理它。

关于可能发生的事情以及如何解决此问题的任何想法?

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

我能不能吃饱?

4

3 回答 3

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,它将向您显示失败的绑定尝试以及加载程序尝试的内容(确保您以管理员身份运行它,否则它将默默地什么都不做)。

于 2012-08-10T19:40:15.227 回答
1

该死的奇怪..

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

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

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

(有人对这种情况的发生方式原因有任何想法吗?可能是 Google Drive 的问题,现在我正在考虑它......

于 2012-08-10T20:28:29.680 回答
0

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

于 2012-12-03T16:24:02.440 回答