【问题标题】:Could not load file or assembly 'System.Web.Http' or one of its dependencies无法加载文件或程序集“System.Web.Http”或其依赖项之一
【发布时间】:2015-01-04 16:57:24
【问题描述】:

我在 MVC 4 中使用 .Net Framework 4.5 创建了一个空项目,并与 sitecore 集成 当我尝试运行项目时出现以下错误:

无法加载文件或程序集“System.Web.Http”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040

【问题讨论】:

  • sitecore 是否运行 4.5 程序集?
  • 1.尝试使用 nuget package update-package webapi 更新您的 web api 程序集。 2. 检查 web.config 以获取 system.web.http 的程序集版本

标签: c# asp.net-mvc asp.net-mvc-4 sitecore .net-assembly


【解决方案1】:

您可能需要添加一些程序集绑定重定向,尽管这通常不是要重定向的。由于您没有说明您正在运行哪个 Sitecore 版本,因此与 Sitecore 安装相比,您可能正在尝试使用较旧/较新的程序集。您可能使用的是较旧的二进制文件,Sitecore 8、7.5 和 7.2 使用 MVC 5。

【讨论】:

    【解决方案2】:

    已解决:

    您需要 Microsoft.AspNet.WebApi.Core 包。

    要安装 Microsoft ASP.NET Web API 2.2 核心库,请在包管理器控制台中运行以下命令

    PM> 安装包 Microsoft.AspNet.WebApi.Core 您可以在类声明之前添加以下行

    使用 System.Web.Http;

    希望它对你有用。

    【讨论】:

      【解决方案3】:

      当您的 sitecore 安装中的系统程序集被与您的构建版本不同的版本替换时,就会发生这种情况。如果站点核心 bin 中已经存在系统程序集,请确保在项目中将它们设置为“不复制”。

      【讨论】:

        【解决方案4】:

        感谢大家的回复! 实际上,我在没有 MVC5 的 VS 2012 中使用 Sitecore 8。 所以在VS2012中安装MVC5包后,它工作正常!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-12
          • 2012-01-14
          • 1970-01-01
          相关资源
          最近更新 更多