如何为C ++ / CLI DLL设置程序集绑定探测路径?

时间:2013-08-29 00:33:08

标签: .net visual-studio-2012 c++-cli app-config

我使用VS2012编写了一个C ++ / CLI DLL。我的C ++ / CLI DLL包装第三方本机DLL。反过来,我认为第三方本机DLL然后使用由同一第三方包提供的一堆其他DLL。有一个redistribute目录,其中包含一堆DLL和本机DLL包使用的东西。

无论如何,当我在系统路径上添加redistribute目录时,在Windows中,我可以在单独的C#GUI应用程序中加载我的C ++ / CLI DLL。

虽然在分发此应用程序时,我不希望要求用户修改其PATH。将该重新分发目录从PATH中取出会导致我的C ++ / CLI DLL无法加载,并出现FileNotFound错误。我很确定它找到了我的DLL,因为它位于同一个目录中,但我认为它找不到我所依赖的DLL。我无法在运行时调整PATH,在我的GUI应用程序中,因为它在调用main之前失败,同时加载我的CLI DLL。

我尝试将<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><probing privatePath="lib"/></assemblyBinding>添加到a​​pp.config,并将所有DLL放入兄弟的lib目录中,但似乎没有解决它。我认为它没有解决它,因为它只是告诉C#GUI应用程序在哪里找到我的CLI DLL,但是不告诉CLI DLL在哪里找到它的deps,对吧?

我有什么想法可以解决这个问题?

0 个答案:

没有答案