The problem is that, just as the version and public key are valid, the Interop Processor Architecture must match the structure of your calling DLL. And, of course, the Target Framework should be the same version.
My dll was compiled for the MSIL processor (Agnostic, AnyCPU), but for some strange reason, Visual Studio insisted on compiling Interop for x386.
(Perhaps this usually did not cause a problem, but my SharePoint server is 64 bits, which could cause symptoms).
, Interop:
1 - DLL Interop .
2 - Visual Studio Visual Studio, .NET, dll (.. DLL Visual Studio 2010, .NET 3.5 , Visual Studio 2008)
3 - Interop Tlbmp
tlbimp <full path and filename of COM .tlb> /out:c:\.\Interop.CoolThirdParty.dll /keyfile: <full path and filename of snk> /machine:Agnostic /Namespace:CoolThirdParty
/: Agnostic Interop MSIL, dll.
4 - Interop dll
5 - Interop , (, c:.\Interop.CoolThirdParty.dll)
6 - Interop.
7 -
8 - dll Interop GAC
.