定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

lio*_*dan 14 c# asp.net nhibernate asp.net-mvc visual-studio

签署第三方程序集并将其添加到GAC后,我收到以下错误:程序集绑定程序日志条目也显示此错误

它说不匹配的程序集不确定如何删除所有obj和bin折叠和批量构建应用程序+重新导入dll.

 Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe

--- A detailed error log follows. 
=== Pre-bind state information ===
LOG: User = AKBARCA\user

LOG: DisplayName = ClubStarterKit.Core, Version=3.0.1.0, Culture=neutral, PublicKeyToken=null
 (Fully-specified)

LOG: Appbase = 

file:///C:/Users/user/Desktop/NhibernateMediumTrust/NhibernateMediumUpgrade/direct/clubstar

terkit v3 preview/ClubStarterKit.Web/

LOG: DEVPATH = C:\ProgramData\Red Gate\.NET Reflector\DevPath

LOG: Initial PrivatePath = 

C:\Users\user\Desktop\NhibernateMediumTrust\NhibernateMediumUpgrade\direct\clubstarterkit v3 preview\ClubStarterKit.Web\bin
Calling assembly : ClubStarterKit.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
Run Code Online (Sandbox Code Playgroud)

Chr*_*att 31

根据我的经验,这种情况会发生,通常是在您发布应用程序之后以及当您使用不同版本的nuget软件包时.如果这也是你的情况,我发现修复它的最好方法是右键单击解决方案(而不是单个项目)并选择"Manage Nuget Packages".然后,在已安装的软件包中找到有问题的程序集.您可能会多次列出它.在每个旧版本的软件包上单击"管理",然后取消选中所有项目.一旦只有最新版本的包仍然在列表中.单击"管理",然后重新检查需要该软件包的任何项目.这将基本上升级它们以使用相同版本的包,并应解决您的不匹配错误.


Bri*_*rij 5

我遇到了类似的问题.就我而言,我的解决方案中有多个项目.

其中一个项目是引用EntityFramework 4.0,该项目在另一个引用EntityFramework 5.0的项目中被引用.我带他们同步,问题就消失了.