繁体   English   中英

使用特定版本的DLLS的问题

Problems with using Specific versions of DLLS

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

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

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

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

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

谢谢你的帮助。

1 个回复

基本上作为路线图:

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

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

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

1 使用具有不同编译器版本的C ++ DLL

这个问题与“如何跨VS版本制作一致的dll二进制文件”有关。 我们有使用VC6构建的应用程序和DLL以及使用VC9构建的新应用程序。 VC9-app必须使用VC6编译的DLL,其中大部分用C语言编写,一个用C ++编写。 由于名称修饰/修改问题,C ++ lib存在问题。 ...

2 DLL问题

伙计们! 我以某种方式找到了有关C语言中DLL的更容易理解的教程,但是现在我似乎无法摆脱这一问题。 我创建了一个使用DLL的简单程序。 我打算在DLL中调用一个名为“ HelloWorld()”的函数,看看它是否会显示我希望的。 “ dllmain.c” “ dll.h” ...

2014-01-18 14:34:57 2 90   c/ dll
3 在python中使用Win32com加载DLL的特定版本

我目前正在使用win32com来调度COM对象: 在我的环境中,此DLL实际上存在2个版本(32位和64位)。 我是否可以实际控制加载哪个版本的COM对象,或者以某种方式将其捆绑在python版本中? ...

4 如何在构建时使用Nuget时切换出项目DLL和版本

我们在Cit解决方案中的10个项目都在Git中。 为了容纳DLL(主要的第三方产品)之一的多个版本,我们在4个分支之间重复了相同的代码。 一个很好的解决方案是允许我们在TeamCity内的构建中定义一个参数,该参数将用于确定要引用的DLL组。 实际上,这将使我们可以缩小到一个主分支和一 ...

5 IIS为什么使用本地版本的.NET System DLL?

在Process Explorer中,我看到IIS正在加载某些系统DLL的本机版本,而不是常规的托管DLL。 例如,我看到了Microsoft.JScript.ni.dll,System.Data.ni.dll,mscorlib.ni.dll等。 没有人在此服务器上运行ngen。 ...

6 加载多个版本的DLL

我有一个C#应用程序,它与一些硬件(USB设备)接口如下: C# application -> intermediate DLL -> hardware DLL -> hardware 。 中间DLL和硬件DLL随USB设备一起提供,因此我无法控制它们。 中间DLL是唯 ...

2013-06-03 07:45:49 3 2131   c#/ dll
9 在混合Exchange版本上使用EWS API时出现问题

我有一个使用EWS API的应用程序。 有些使用Exchange 2003的计算机,有些使用2007/2010。 最初,在我的应用程序中,我只是使用了: 但是我很快发现在使用2003的计算机上该操作失败,并显示以下错误:“客户端邮箱必须位于Exchange Server 2010或更 ...

10 记录所有使用的DLL的版本

我想记录我的.NET应用程序使用的所有DLL的版本。 如果在启动时或首次使用每个DLL时生成日志输出并不重要。 我想到的第一个解决方案是迭代所有DLL文件,这些文件与我的程序集位于同一目录中。 但这是我最好的选择吗? 有没有更好的方法来做到这一点? 重要的是,该解决方案也应该适用于 ...

暂无
暂无

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

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