当从带有脚本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)丢失了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。