Silverlight COM路径问题
我目前在Silverlight中使用了一些COM dll,并且遇到了一个奇怪的问题。我创建了两个正在使用的.NET COM dll,两者都通过DllImport引用其他dll。他们工作得很好。Silverlight COM路径问题
然后我添加了第三个COM DLL到项目中。这个也通过DllImport引用其他dll。一旦我创造了另外两个休息时间。他们会抛出错误,指出他们正在使用的其他dll无法找到。然而,第三个DLL工作正常。
这是我如何创建它们
AutomationFactory.CreateObject("Com1"); AutomationFactory.CreateObject("Com2");
AutomationFactory.CreateObject("Com3");
再次,如果我只是使用COM1和COM2他们的工作完全正常。如果我添加Com3,它可以正常工作,但其他两个不能找到它们的本地dll。
我甚至没有在Com3上调用任何函数,只是创建它,其他人停止工作。
任何想法?你认为这可能是本地的dll吗?我不明白第三者如何工作,但其他人不这样做,你会认为他们会停止工作,如果这是本地的dll破坏某些东西。
回答:
我想出了一种方法来使它工作。我仍然不是100%确定为什么需要这样做。
如果我使用Directory.SetCurrentDirectory将当前目录设置为具有本机dll的目录,它将工作。
似乎Com3并没有改变目录,但由于某些原因,它导致其他COM dll在当前工作目录中查找,而不是在他们的注册位置。
以上是 Silverlight COM路径问题 的全部内容, 来源链接: utcz.com/qa/257944.html