CefSharp 3 总是失败 Cef.Initialize()

CefSharp 3 always failing Cef.Initialize()

我最近尝试从 CefSharp 1.25.7 跳转到最新版本 (39.0.0-pre02)。我通过 NuGet 获得了这些文件,但我将它们单独复制到我的项目中,因为它们必须包含在我们的存储库中才能与其他开发人员共享。我相信我得到了所有文件(甚至得到了似乎取代 icudt.dll 的新 icudtl.dat 文件)。

我能够解决所有 API 更改并添加新文件等。它构建并且所有 dll 似乎都已解析但由于某种原因 Cef.Initialize()(有和没有设置)总是失败。我的输出 window 或任何东西都没有错误,只是一个错误的 return。关于我应该在哪里寻找问题的任何建议?我是 运行 VS2010,我知道从源代码构建它有一些问题,但我认为使用二进制文件可以解决这个问题。

听起来你可能不见了,例如CefSharp.BrowserSubprocess.exe 及其依赖的 dll 在您的 bin/ 文件夹中。在 Cef.Initialize() 之后,如果您查看 Windows 任务管理器,您应该会看到该进程已生成。它类似于所有 Chrome.exe 进程 "That Google product variant" 启动。

与 CefSharp 1 相比,它是一个完全不同的多进程野兽。请参阅 https://github.com/cefsharp/CefSharp/wiki/Versions,它是指向上游 CEF 项目文档的指针。

为了 quickly/more 安全离开地面,请使用 CefSharp.MinimalExample 存储库作为参考。它的 NuGet 使用应该负责将所有相关文件复制到您的 bin/ 文件夹。确保您在 VS2010 中安装的 NuGet 是最新的。