我目前正在使用一些带有 Silverlight 的 COM dll,我遇到了一个奇怪的问题。我创建了两个正在使用的 .NET COM dll,它们都通过 DllImport 引用其他 dll。他们工作得很好。
然后我在项目中添加了第三个 COM dll。这一个也通过 DllImport 引用其他 dll。我一创建它,其他两个就中断了。他们抛出错误,说找不到他们正在使用的其他 dll。然而,第三个 dll 工作正常。
这就是我创建它们的方式
AutomationFactory.CreateObject("Com1");
AutomationFactory.CreateObject("Com2");
AutomationFactory.CreateObject("Com3");
同样,如果我只使用 Com1 和 Com2,它们工作得非常好。如果我添加 Com3 它工作正常,但其他两个找不到他们的原生 dll。
我什至不调用 Com3 上的任何函数,只是创建它,其他函数停止工作。
有任何想法吗?你认为它可能是本机dll吗?我不明白第三个是如何工作的,但其他人不明白,如果是本机 dll 破坏了某些东西,你会认为它们都会停止工作。