我有一个Asp.net项目,在该项目的web.config中,我有如下配置:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
(已经跟随了另一篇帖子中的应该修复的方法)但在运行时,我收到以下错误信息:
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)
当我打开项目属性并转到引用时,我可以看到有一个DotNetOpenAuth.Core
条目,一个DotNetOpenAuth.AspNet
条目,一个DotNetOpenAuth.OAuth
条目,一个DotNetOpenAuth.OAuth.Consumer
条目,一个DotNetOpenAuth.OpenId
条目和一个DotNetOpenAuth.OpenId.RelyingParty
条目,它们都设置为复制本地= true。
可能出了什么问题呢?
编辑:
这是完整的错误日志,对我来说似乎仍然尝试加载4.3.0.0版本
=== 预绑定状态信息=== LOG:用户= MegaBadTouch\James LOG:显示名称 = DotNetOpenAuth.AspNet(部分) WRN:提供了一个程序集的部分绑定信息: WRN:程序集名称:DotNetOpenAuth.AspNet | 域 ID:2 WRN:只提供程序集显示名称的一部分导致了部分绑定。 WRN:这可能导致绑定器加载不正确的程序集。 WRN:建议为程序集提供完全指定的文本标识, WRN:该标识由简单名称、版本、区域性和公钥令牌组成。 WRN:有关此问题的更多信息和常见解决方案,请参阅白皮书 http://go.microsoft.com/fwlink/?LinkId=109270。 LOG:Appbase = file:///C:/Users/James/Documents/Visual Studio 2012/Projects/Archive/Archive/ LOG:初始PrivatePath = C:\Users\James\Documents\Visual Studio 2012\Projects\Archive\Archive\bin 调用程序集:(未知)。 === LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件:C:\Users\James\Documents\Visual Studio 2012\Projects\Archive\Archive\web.config LOG:使用主机配置文件:C:\Users\James\Documents\IISExpress\config\aspnet.config LOG:正在使用来自C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config的机器配置文件。 LOG:此时不对引用执行策略(私有、自定义、部分或基于位置的程序集绑定)。 LOG:尝试下载新的URL文件:///C:/Users/James/AppData/Local/Temp/Temporary ASP.NET Files/root/47d58003/7c1d4013/DotNetOpenAuth.AspNet.DLL。 LOG:尝试下载新的URL文件:///C:/Users/James/AppData/Local/Temp/Temporary ASP.NET Files/root/47d58003/7c1d4013/DotNetOpenAuth.AspNet/DotNetOpenAuth.AspNet.DLL。 LOG:尝试下载新的URL文件:///C:/Users/James/Documents/Visual Studio 2012/Projects/Archive/Archive/bin/DotNetOpenAuth.AspNet.DLL。 LOG:使用应用程序配置文件:C:\Users\James\Documents\Visual Studio 2012\Projects\Archive\Archive\web.config LOG:使用主机配置文件:C:\Users\James\Documents\IISExpress\config\aspnet.config LOG:正在使用来自C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config的机器配置文件。 LOG:在应用程序配置文件中找到重定向:4.0.0.0重定向到4.1.0.0。 LOG:后策略引用:DotNetOpenAuth.AspNet,Version=4.1.0.0,Culture=neutral,PublicKeyToken=2780ccd10d57b246 LOG:尝试下载新的URL文件:///C:/Users/James/AppData/Local/Temp/Temporary ASP.NET Files/root/47d58003/7c1d4013/DotNetOpenAuth.AspNet.DLL。 LOG:尝试下载新的URL文件:///C:/Users/James/AppData/Local/Temp/Temporary ASP.NET Files/root/47d58003/7c1d4013/DotNetOpenAuth.AspNet/DotNetOpenAuth.AspNet.DLL。 LOG:尝试下载新的URL文件:///C:/Users/James/Documents/Visual Studio 2012/Projects/Archive/Archive/bin/DotNetOpenAuth.AspNet.DLL。 WRN:比较程序集名称导致不匹配:次要版本 ERR:无法完成程序集的设置(hr = 0x80131040)。探测终止。
堆栈跟踪:
[FileLoadException: 无法加载文件或程序集“DotNetOpenAuth.AspNet”或其某一个依赖项。找到的程序集清单定义与程序集引用不匹配