繁体   English   中英

使用特定版本的DLLS的问题

[英]Problems with using Specific versions of DLLS

我在构建WPF管理的Windows应用程序时遇到问题。 此应用程序使用CEF Sharp -a托管库,该库基本上是对“ Chromium Embedded Framework”非托管库的绑定。 这取决于通过DLL的角度项目-libEGL.dll和libGLESv2.dll。

我遇到的问题是,我正在使用另一个具有其DLL版本的本机库。 这些dll相似-但绝对不同。

我遇到的问题是确保每个依赖项都使用自己的库版本。 目前,chrome和其他库从.exe所在的同一目录加载gl dll。

解决此问题的最佳/最有效方法是什么? 我已经阅读了一些文章-有些资料表明“ WinSxS”应该可以工作-而另一些资料则表明它仅适用于单独的应用程序-而不是使用不同版本的DLL的相同过程。

谢谢你的帮助。

基本上作为路线图:

  1. 将所有与CEF相关的文件移到单独的目录中。
  2. 从此目录加载libcef.dll(最好查阅cefsharp文档),或者在触摸CefSharp之前仅使用LoadLibraryEx。
  3. 此时,CEF应该从自己的目录中加载任何内容,但是可能需要重新检查。
  4. 加载第二个库。 确保它从自己的目录加载角度。

根据结果​​,您将能够决定要做什么。 例如,您可能需要修补第二个库以使用正确的路径强制其加载角度。

添加:您可能想使用SetDllDirectory或其他LoadLibrary东西,但首先要将CEF二进制文件移至其他目录-在这种情况下,它可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM