Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

After signing the third parties assemblies and adding them to GAC I am getting the below error: also the Assembly Binder Log Entry shows this error

It says mismatching assemblies not sure how mistnaching as I deleted all obj and bin fold and batch built the application + reimported the dlls.

 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.
like image 349
lioni jordan Avatar asked May 07 '13 17:05

lioni jordan


3 Answers

From my experience, this happens, usually once you've published your app and when you have different versions of nuget packages in play. If this happens to be your situation as well, the best way I've found to fix it is to right-click the solution (not the individual projects) and choose "Manage Nuget Packages". Then, locate the offending assembly in the installed packages. You'll probably see it listed multiple times. Click "Manage" on each of the older versions of the package and uncheck all your projects. Once only the latest version of the package remains in the list. Click "Manage" on this one and recheck any projects that need the package. This will essentially upgrade them all to use the same version of the package and should resolve your mismatch error.

like image 134
Chris Pratt Avatar answered Oct 11 '22 14:10

Chris Pratt


I faced similar problem. In my case, I was having multiple projects in my solution.

One of the project was referring EntityFramework 4.0 and that project was being referred in another project that was referring to EntityFramework 5.0. I brought them in sync and the problem got away.

like image 27
Brij Avatar answered Oct 11 '22 14:10

Brij


Hum... I faced something similar with the same error message.

In my case I've updated manually the version of the assemblies.

The error message

In the referenced assembly I had another version...

So, I updated it in the web.config.

Properies of the DLL

This solved my problem.

Your === Pre-bind state information === seems incomplete. Generally it shows the execution and the last line shows the error, so, we can help only sharing our experiences. Example: Last line of the LOG info

I hope someone else facing this problem find this helpful.

like image 3
Lincoln Pires Avatar answered Oct 11 '22 14:10

Lincoln Pires