通过Excel和VBA使用COM的MissingMethodException

我有一个C#库,从中我向COM公开了几种方法,以便可以从Excel VBA中调用它们。该库引用了来自第三方的另一个.NEt库。部署到Windows Server 2016时,所有这些工作都非常好。当将其移至Windows Server 2012实例时,当JIT编译器尝试通过调用第三方库的方法来JIT方法时,我会收到MissingMethodException。

我可以在目标服务器上编译代码并对其进行全部测试,甚至可以调用该代码而不会出现来自其他.Net应用程序的任何问题。只有从VBA代码中调用它时,它才能加载和执行第3方代码。

我已经更改了库中的代码以在第3部分库中执行Assembly.LoadFrom(),然后可以使用反射来找到方法。但是,如果我随后从MethodInfo调用该方法,则会得到失败的结果,并且在QuickWatch窗口中进行检查时,会出现一条消息“ C#编译器内部错误”。我可以通过执行Excel并停止在我的库中来调试我的代码,除了尝试将包含代码的方法执行到第三方库中的方法(因为JIT无法编译该代码)之外,其他一切看起来都很好。

如何调试为什么JIT编译器找不到并加载我正在使用的程序集?

keith_ye_mao 回答:通过Excel和VBA使用COM的MissingMethodException

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3129875.html

大家都在问