【问题标题】:CefSharp on Windows XP / Server 2003 / VS 2010Windows XP / Server 2003 / VS 2010 上的 CefSharp
【发布时间】:2015-03-22 07:29:59
【问题描述】:

我正在尝试将 CefSharp 集成到我在 Windows XP 上的 Visual Studio 2010 中开发的 C# 项目中。运行 Windows Server 2003 的其他人也报告了类似的错误。

  1. 我通过 NuGet 添加 CefSharp.WinForms,它似乎工作得很好。

  2. 我编译并运行了应用程序,但是当我尝试加载 CefSharp 时,我得到“无法加载由 'CefSharp.Core.dll' 导入的过程。”

下面是我运行的代码:

        var settings = new CefSharp.CefSettings {
            PackLoadingDisabled = true
        };

        if (Cef.Initialize(settings)) {
            throw new Exception("Failed to initialze CefSharp");
        }

        var browser = new CefSharp.WinForms.ChromiumWebBrowser("http://www.google.com/");
        browser.SetBounds(0, 0, ClientSize.Width, ClientSize.Height);
        Controls.Add(browser);

CefSharp FAQ 上,它告诉我应该执行一些我已经完成的任务才能在 Windows XP 上运行,即使 XP 不受官方支持,它在常见问题解答中说它可以工作。

【问题讨论】:

  • @albertjan 不,很遗憾没有。我设法让旧版本的 CefSharp 工作。我仍然对解决方案感兴趣!
  • 我做到了 :) 但我无法让它与 nugets 一起工作。我必须自己将其编译为 .net 4。我必须将目标平台工具集指定为 c++ 项目的120。 (虽然我不太确定那真的是 nessecairy)

标签: c# .net visual-studio-2010 gac cefsharp


【解决方案1】:

我认为“确保安装了正确的 Visual C++ 版本”中存在拼写错误/缺少单词。

恕我直言,它应该是:“确保安装了正确的 Visual C++ Redistributable 版本。”

这是对另一个常见问题的参考: https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#Including_vcredist

【讨论】:

  • 我同意,这实际上也是我阅读该要求的方式。安装了正确的 VC++ 可再发行组件
  • 听起来是时候尝试一下 Dependency Walker 并与您在具有相同二进制文件的非 XP 机器上看到的内容进行比较。见github.com/cefsharp/CefSharp/issues/409
【解决方案2】:

您还应该注意几个潜在问题:

1 - 设置浏览器子进程路径:

var settings = new CefSettings {
BrowserSubprocessPath = "CefSharp.BrowserSubprocess.exe"
}; 

2 - 不在你的ctor中设置地址/html,而是在browser.IsBrowserInitialised事件中(并且仅在检查浏览器已初始化之后)简而言之,CEF是BIG FAT dll,它需要一段时间来加载和初始化.. . 我们很快就能完成这项工作!

【讨论】:

  • 不幸的是,我什至无法执行新的 CefSettings,所以错误更早,很可能在 GAC 绑定或类似的东西中。
【解决方案3】:

同样的问题。真的真的很烦人。我尝试了依赖walker,但它没有给我任何相关信息。所有教程均未提供相关信息。我很确定这是不可能的,至少对于 nuget 包来说是这样。

【讨论】:

    【解决方案4】:

    我已经解决了那个话题。

    https://groups.google.com/forum/#!searchin/cefsharp/xp/cefsharp/J5gX7OKf7Rc/EoB3h0UmfYYJ

    如果您有 VS2013 并且有一段时间,您可以尝试从源代码构建并稍作修改。

    • 确保在部署到 XP/2003 时以 Release 模式构建
    • 将两个c++项目Platform Toolset改为Visual Studio 2013 - Windows XP (v120_xp)
    • 确保您部署到的计算机已安装VC++ 2013 Redist

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 2013-03-26
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多