加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从第三方应用程序调用类库时出现MissingMethodException

发布时间:2020-12-15 22:49:40 所属栏目:百科 来源:网络整理
导读:当从带有脚本OnBase的第三方应用程序调用公司库中的方法时,我收到了MissingMethodException(引用特定方法).调用该方法的对象已存在,并在此点之前成功执行其他调用. 我已经确认的事情: 此库中的其他引用正常工作 方法是公开的 相关脚本引用的DLL版本具有方法
当从带有脚本OnBase的第三方应用程序调用公司库中的方法时,我收到了MissingMethodException(引用特定方法).调用该方法的对象已存在,并在此点之前成功执行其他调用.

我已经确认的事情:

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

另外值得注意的是,OnBase中脚本编辑器的代码完成也找不到方法,但它也能成功构建.

>我应该寻找旧DLL的不常见的位置是什么?
>是否有任何OnBase特定位置?
>还有什么其他原因?

解决方法

To clarify,assembly 1 is referenced by the script and contains the method that’s coming back missing,and assembly 2 is referenced by assembly 1 and the script both. Assembly 2 works in all cases,assembly 1 works except this one method.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读