This entry will bore all of you except for maybe Tommy.
This is a .NET related error. Strongly named assemblies (aka signed assemblies) can only reference other strongly named assemblies. Strongly named assemblies can not reference simply named assemblies (aka unsigned assemblies).
I saw this problem when trying to run an application that was compiled against a signed assembly, but I was attempting to run it against an unsigned assembly. You can determine if an assembly is signed or not by loading the assembly in ildasm, Microsoft’s .NET assembly disassembler. It comes with the .NET SDK. If an assembly is signed then it’s manifest will contain a publickey setting that is about 10 lines of hex characters.