从探测文件夹运行C++可再发行文件

Running C++ Redistributable files from a Probing Folder

本文关键字:再发行 文件 C++ 运行 探测 文件夹      更新时间:2023-10-16

我目前遇到来自另一个文件夹的"探测"dll的问题。特别是我的应用程序所依赖的C++可再发行文件,我刚刚将其包含在我的文件夹中,以避免运行安装程序。

如果这些文件与 exe 位于同一文件夹中,则应用程序将成功运行:

  • MSVCP110.dll
  • MSVCP120.dll
  • MSVCP140.dll
  • MSVCR110.dll
  • MSVCR120.dll
  • vcruntime140.dll

但是,当我在我的应用程序的 App.config 中尝试将 dll 探测到其他 2 个文件夹时,执行.exe时都不会加载它们。

<probing privatePath="DataResources/cefsharp;DataResources/miscellaneous" />

DLL 位于DataResources/miscellaneous文件夹中。但是,DataResources/cefsharp中的 DLL(这是我的其他一些 dll)已加载。

有谁知道问题可能是什么?谢谢!

因此,事实证明,当涉及到这些文件时,CefSharp依赖于它们与CefSharp文件本身位于完全相同的文件夹中。就我而言,将这些文件移动到CefSharp文件夹就可以了。

在其他情况下可能不是这种情况,但是如果您使用的是CefSharp,则会遇到相同的问题,这就是原因。