Rya*_*yan 6 .net app-config c++-cli visual-studio-2012
我使用 VS2012 编写了一个 C++/CLI DLL。我的 C++/CLI DLL 包装了第三方本机 DLL。反过来,我认为第三方本机 DLL 然后使用同一第三方包提供的一堆其他 DLL。有一个重新分发目录,其中包含一堆 DLL 以及此本机 DLL 包使用的内容。
无论如何,当我在 Windows 中的系统 PATH 上添加重新分发目录时,我可以在单独的 C# GUI 应用程序中加载我的 C++/CLI DLL。
不过,在分发此应用程序时,我不想要求用户修改他们的路径。将该重新分发目录移出 PATH 会导致我的 C++/CLI DLL 无法加载,并出现 FileNotFound 错误。我很确定它找到了我的 DLL,因为它位于同一目录中,但我认为它找不到我的 DLL 所依赖的 DLL。我无法在运行时在 GUI 应用程序中调整 PATH,因为在加载 CLI DLL 时调用 main 之前它会失败。
我尝试添加<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><probing privatePath="lib"/></assemblyBinding>到 app.config 中,并将所有 DLL 放入同级 lib 目录中,但这似乎无法解决问题。我认为它不能解决这个问题,因为它只是告诉 C# GUI 应用程序在哪里可以找到我的 CLI DLL,但不会告诉 CLI DLL 在哪里可以找到它的依赖项,对吧?
我有什么想法可以解决这个问题吗?