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

前端 未结 8 1626
醉梦人生
醉梦人生 2021-01-17 09:33

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 mismatch

相关标签:
8条回答
  • 2021-01-17 10:13

    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.

    0 讨论(0)
  • 2021-01-17 10:13

    When I experienced this problem in the past, I deleted all my project's dll's from the gac, rebuilt the solution, then did iisreset and it was solved.

    0 讨论(0)
  • 2021-01-17 10:23

    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.

    0 讨论(0)
  • 2021-01-17 10:23

    I got this error using FASTjson:

    _jsonConfig = fastJSON.JSON.ToObject<jsonConfig>(jsonConfigFileContents);

    It failed on this line:

    Type t = Type.GetType(typename);

    Which causes an exception in System.RuntimeTypeHandle.GetTypeByName


    The problem was a difference in the JSON file compared to the JSON Object Model.

    The solution is to re-save the JSON Object Model to file, eg:

    string jsonSettings = fastJSON.JSON.ToJSON(JSONObjectModel);
    File.WriteAllText(JSONFilePath, jsonSettings);
    
    0 讨论(0)
  • 2021-01-17 10:25

    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.

    0 讨论(0)
  • 2021-01-17 10:28

    In my case, the error happens when the version specified in web.config's <bindingRedirect> of the dependent assembly (e.g. Newtonsoft.Json) doesn't match the version that is actually in the bin folder. Once the version number in the web.config is updated, the problem is fixed.

    screenshot of web.config

    0 讨论(0)
提交回复
热议问题