3

我使用 64 版本的 CefSharp 3 创建了一个示例应用程序。它工作正常,而所有必需的库都与主应用程序可执行文件位于同一文件夹中。我想知道是否有办法从另一条路径读取 CefSharp 所需的 dll。

我正在寻找如下的文件夹结构

调试\MyApp.exe

Debug\Assemblies\CefSharp.BrowserSubprocess.exe

Debug\Assemblies\CefSharp.BrowserSubprocess.exe

调试\程序集\CefSharp.Core.dll

调试\程序集\CefSharp.dll

调试\程序集\CefSharp.Wpf.dll

调试\程序集\icudt.dll

调试\程序集\libcef.dll

Debug\Assemblies\Locales\en-US.pak

换句话说,我需要从与我的应用程序(MyApp.exe)不同的文件夹中读取所需的 cefsharp dll 和语言环境

我创建了配置文件 MyApp.exe.config 如下

  <?xml version="1.0"?>
    <configuration>

      <!--
        These settings only apply to the bootstrap AppDomain.
        Modify Web.config to alter the configuration of the application.
      -->

      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <probing privatePath="Assemblies"/>
        </assemblyBinding>
      </runtime>

      <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      </startup>

    </configuration>

但仍然使用上述浏览器显示空白页面。仅当它们都在一个文件夹中时才有效

任何帮助将不胜感激

4

1 回答 1

1

我终于找到了问题所在。由于在单独的进程上运行浏览器以及 CefSharp.BrowserSubprocess.exe 对 CefSharp.dll 和 CefSharp.Core.dll 的依赖性,必须为子进程创建相同的配置文件。

我必须做的唯一更改是创建文件 CefSharp.BrowserSubprocess.exe.config 并复制与 MyApp.exe.config 中相同的配置

于 2014-09-23T06:35:39.410 回答