问题的原因是: 你的解决方案里可能有多个工程。编译的时候先后顺序不对,旧的dll覆盖了新的dll。
如 A工程生成A.dll,B工程引用A.dll。在B工程的debug下已经有一个旧的A.dll,这样用编译A工程后再编译B工程,会把A工程的A.dll换成B工程下的老的A.dll。
一般我会把这2个工程都统一输出到如 D:\aa下。重新添加B工程对A工程的引用。删除B工程下的debug目录。再编译运行就没有问题了。
如果还是不行,就在你的工程的文件夹下搜索A.dll,全部删除,这样老的新的A.dll都没有了。然后再编译就行了。