繁体   English   中英

从第三方应用程序调用类库时缺少MissingMethodException

[英]MissingMethodException when calling to a class library from third-party application

从第三方应用程序使用脚本OnBase调用公司库中的方法时,出现MissingMethodException(引用特定方法)。 调用该方法的对象已经存在,并且在此之前可以成功进行其他调用。

我已经确认的事情:

  • 该库中的其他引用正常工作
  • 方法是公开的
  • 有问题的脚本引用的DLL版本具有该方法(重建程序集并重新导入它,输出将当前日期显示为创建日期,而OnBase显示正确的更新版本号)
  • GAC中没有DLL的任何版本
  • 自导入以来,服务器应用程序已重新启动

还要注意的是,脚本编辑器在OnBase中的代码完成也无法找到该方法,但它也可以成功构建。

  • 我应该在哪里寻找旧的DLL?
  • 是否有OnBase的特定位置?
  • 还有什么其他原因?

为了清楚起见,程序集1被脚本引用,并且包含丢失的方法,而程序集2和脚本都引用了程序集2。 程序集2在所有情况下均有效,而程序集1在该情况下除外。

发生这种情况的原因是程序集1和脚本引用了程序集2的不同版本,因此当我们尝试将程序集2中定义的对象传递给程序集1中的方法时,它来自的版本没有匹配,因此缺少的是具有特定签名的方法,即存在DoStuff(v1.Foo)但没有DoStuff(v2.Foo)。 显然,该错误仅表明缺少DoStuff(Foo)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM