c# – 无法加载文件或程序集’DotNetOpenAuth.AspNet’

每当我运行我的项目时,我都会收到以下错误.这是在我安装DotNetopenAuth时发生的.

Could not load file or assembly ‘DotNetopenAuth.AspNet’ or one of its dependencies. The located assembly’s manifest deFinition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileLoadException: Could not load file or assembly ‘DotNetopenAuth.AspNet’ or one of its dependencies. The located assembly’s manifest deFinition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Source Error:

An unhandled exception was generated during the execution of the current web request. information regarding the origin and location of the exception can be identified using the exception stack trace below.

Assembly Load Trace: The following information can be helpful to determine why the assembly ‘DotNetopenAuth.AspNet’ Could not be loaded.

=== Pre-bind state information ===
LOG: displayName = DotNetopenAuth.AspNet
(Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: DotNetopenAuth.AspNet | Domain ID: 2
WRN: A partial bind occurs when only part of the assembly display name is provided.
WRN: This might result in the binder loading an incorrect assembly.
WRN: It is recommended to provide a fully specified textual identity for the assembly

在构建项目时我也会收到以下警告.

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3277: Found conflicts between different versions of the same dependent assembly that Could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.

绝对没有关于这里出了什么问题的信息.有人可以帮我调试是什么问题.我试图解决这个过去2天但没有任何运气.

编辑:这是packages.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Antlr" version="3.4.1.9004" targetFramework="net45" />
  <package id="bootstrap" version="3.2.0" targetFramework="net45" />
  <package id="CodeContracts.Unofficial" version="1.0.0.2" targetFramework="net45" />
  <package id="DotNetopenAuth.AspNet" version="4.1.4.12333" targetFramework="net45" />
  <package id="DotNetopenAuth.AspNet" version="4.0.3.12153" targetFramework="net45" />
  <package id="DotNetopenAuth.Core" version="4.1.4.12333" targetFramework="net45" />
  <package id="DotNetopenAuth.Core" version="4.0.3.12153" targetFramework="net45" />
  <package id="DotNetopenAuth.OAuth.Consumer" version="4.1.4.12333" targetFramework="net45" />
  <package id="DotNetopenAuth.OAuth.Consumer" version="4.0.3.12153" targetFramework="net45" />
  <package id="DotNetopenAuth.OAuth.Core" version="4.1.4.12333" targetFramework="net45" />
  <package id="DotNetopenAuth.OAuth.Core" version="4.0.3.12153" targetFramework="net45" />
  <package id="DotNetopenAuth.OpenId.Core" version="4.1.4.12333" targetFramework="net45" />
  <package id="DotNetopenAuth.OpenId.Core" version="4.0.3.12153" targetFramework="net45" />
  <package id="DotNetopenAuth.OpenId.RelyingParty" version="4.1.4.12333" targetFramework="net45"     />
  <package id="DotNetopenAuth.OpenId.RelyingParty" version="4.0.3.12153" targetFramework="net45" />
  <package id="jQuery" version="2.1.1" targetFramework="net45" />
  <package id="jQuery.UI.Combined" version="1.11.1" targetFramework="net45" />
  <package id="jQuery.Validation" version="1.13.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Mvc" version="4.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Mvc.FixeddisplayModes" version="1.0.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Razor" version="3.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi" version="4.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Client" version="4.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Core" version="4.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages" version="2.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages.Data" version="3.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages.Data" version="2.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages.OAuth" version="3.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages.OAuth" version="2.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages.WebData" version="3.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages.WebData" version="2.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.jQuery.Unobtrusive.Ajax" version="3.2.2" targetFramework="net45" />
  <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.2" targetFramework="net45" />
  <package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
  <package id="Newtonsoft.Json" version="5.0.4" targetFramework="net45" />
  <package id="UpgradeMvc3ToMvc4" version="1.0.1" targetFramework="net45" />
  <package id="WebGrease" version="1.5.2" targetFramework="net45" />
  <package id="WebGrease" version="1.1.0" targetFramework="net45" />
</packages>

解决方法

根据您的packages.config文件,您安装了每个软件包的多个版本.在您清理完网站之前,您的网站将无法正常运行 – 尤其是在WebAPI和MVC方面.最好的办法是做一个Clean,删除所有这些非客户端软件包(你可以保留jQuery和其他客户端库),并重新添加你需要的任何版本.完成所有操作后,您只需要1个版本.

如果你真的想要在不清理packages.config的情况下完成这项工作,你可以在web.config中设置assemblyRedirection(参见这里:http://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx)并将所有1个版本的请求指向另一个.

您需要检查Web应用程序中所有web.config文件中提到的WebPages,MVC和WebAPI版本引用,以确保它们也引用了正确的版本.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...