我目前遇到来自另一个文件夹的"探测"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,则会遇到相同的问题,这就是原因。