我的WCF服务使用第三方DLL。这个第三方DLL是一个com寄存器DLL,没有问题。但此DLL使用了一个非托管的、不可注册的DLL,该DLL必须位于其他DLL的本地执行路径中。问题是,当我的WCF在IIS上启动时,它加载了第三方DLL程序集,但DLL找不到他的DLL,因为它不在我的应用程序bin文件夹中。我手动将另一个DLL放在bin文件夹中,但执行路径不在那里。第三方DLL确实有方法公开其目录中的文件,但它看不到该文件。
我知道问题在于,如果我在控制台应用程序中复制粘贴该方法,它会运行得很完美,但我必须将第三方DLL使用的DLL放入我的BIN文件夹以使其正常工作。调用DLL方法查看本地文件清楚地表明它使用了我的应用程序执行路径。我不介意必须这样做。如果我可以强制我的服务的执行路径在一个我可以知道的地方保持不变,我会简单地将这些额外的DLL放入它们的DLL中,然后忘掉它。
有人知道如何做到这一点吗?