中文版本提示:System.MissingMethodException: 找不到方法:...
英文版本提示:System.MissingMethodException: Method not found:...
导致此异常的原因是引用程集版本冲突,通常可能是因为同一个项目(DLL)被多个项目(DLL)引用,导致新加的方法找不到,但是不会抛编译期异常,而是抛运行期异常。跟踪调试的时候根本无法运行到调用的地方,所以,很容易导致该解决该问题无从下手。
个人觉得这应该是VS的一个BUG,我用的是VS2008,不知道其它版本有没有同样的问题。
解决方法:在项目中查找是否存在多个DLL,让各个项目引用同一个DLL
我的问题是,项目代码更新了(其他的dll更新了),交于测试组测试时,却忘记了把相应的dll跟着同步去更新替换,只把可执行项目文件进行了替换,造成了下图所示的错误,一度误认为是SQL Server 64位数据库与32位有区别造成的错误,其实不是,是对应更新代码的dll忘记更新造成的。