8

无法加载文件或程序集 'EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

当我将此代码添加到我的项目中时,我只会收到此错误:

private IUserRepository repository;

        public SearchController(IUserRepository repo)
        {
            repository = repo;
        }

我想这是有道理的,因为我为此使用了 EntityFramework。我现在才确定如何修复这个错误。

我看过这个链接: http: //msdn.microsoft.com/en-us/library/e74a18c4.aspx 虽然我不知道如何使用这个程序?(它总是空白)。

我认为这个错误可能与我的数据库是由 dotnet-host.com 托管的事实有关,并且当它与在线数据库交互时,有一些本地引用会中断。

4

1 回答 1

18

错误告诉您的是,您的项目引用了与运行时不同的 EntityFramework.dll 版本。

检查您在项目中引用了哪个版本的 EntityFramework.dll(更新您的问题)。

确保将所有相关的 dll 和 *.manifest 复制到应用程序的 bin 文件夹中。

由于它是外部主机,您可能需要通过 WebMatrix 包管理器安装 EntityFramework。如果你这样做,你可以按照这个教程

  1. 只需确保在您用于开发的主机站点上安装相同版本的 EntityFramework,或者
  2. 将您的程序集引用更改为Specific Version = falseEntityFramework dll(注意我不确定它是否会工作,因为我总是尝试使用相同的版本进行开发和部署,所以也许有人可以确认?)。
于 2012-04-03T22:32:37.550 回答