我的解决方案(在Visual Studio 2010中)包含以下项目:
在CliLibrary中我链接 CppLibrary.lib ,在CsharpGUI中我引用了 CliLibrary.dll 。到目前为止一切都很好。
现在我必须在我的CppLibrary中使用第三方库(OCCT)。我可以访问的OCCT库是静态(.lib)或动态(.dll)。我尝试了以下方法:
在这种状态下,我的解决方案构建没有错误。但是,在运行时,我的应用程序立即抛出以下异常:
无法加载文件或程序集' CliLibrary.dll'或其中一个依赖。
我认为在CsharpGUI级别不知道/找不到非托管OCCT库(它们是托管CliLibrary的依赖关系)。我认为问题是在this线程中解决的,但提出的解决方案并没有解决我的问题。按照this线程中的想法,我尝试将所需的OCCT dll复制到与CsharpGUI.exe相同的目录中,这也没有解决问题。
当然,我不是第一个应对这样一个项目/图书馆层级的人。