The exception, "The located assembly's manifest definition with the name 'Atalasoft.*' does not match the assembly reference" is thrown when the .NET assembly versions that the project was compiled with do not match the assemblies in the search path. You need to either replace the assemblies to the ones that the project was compiled with, or remove all DotImage references, then re-add them from the Managed Assemblies folder.
Sometimes this exception is thrown even after re-adding the references. This can occur when you have more than one version of DotImage on your machine, and there is a project reference (located in project properties) pointing to a different folder then what was just added to the project. In order to determine if the assemblies in your project were compiled together, look at the version number. The 3rd number is the day that the assemblies were compiled on. All assemblies that require DotImage should have the same first 3 digits in the version number (ie, 2.0.1839). The only exception is DotTwain which does not depend on DotImage.
If this problem comes up on a client (non-development) machine, the most likely reason is that the wrong Atalasoft assemblies were installed to this machine.
Steps to Resolve:
- Check that the Atalasoft DLLs being referenced by your application are all the same version number.
- Make sure the application was not compiled with a different version (of atalasoft dll's) than it is being run with.
- It is possible that the application was compiled by referencing Atalasoft assemblies with non matching version numbers. This would happen only if 2 different version of the DLL's existed on your development machine. To check this, open your application in ildasm (in visual studio command prompt type "ildasm"), and open the manifest. You will see all your references listed here with their version numbers. If any of the atalasoft versions do not match, you will need to recompile your project. Make sure to fix your references before doing so!
- If the above cases are not true, then its possible that your app is loading dll's from somewhere else than what you expect. Troubleshooting this can be a bit tricky, but the place to start is to capture a ProcMon log. We have an excellent How-to for ProcMon here.
Original Article:
Q10049 - ERRMSG: "The located assembly's manifest definition with the name 'Atalasoft.*' does not match the assembly reference"