【问题标题】:CefSharp 3 WPF project didn't run in client machineCefSharp 3 WPF 项目没有在客户端机器上运行
【发布时间】:2015-07-02 12:33:31
【问题描述】:

我需要在客户端机器上运行 CefSharp WPF 项目。该项目适用于开发机器。但没有在客户端机器上运行。

以下是我发现的一些发现:

  1. 当我将 Visual Studio 2013 安装到客户端计算机并运行应用程序时,它运行良好。
  2. 将 .NetFramework 4.5 和 Microsoft Visual C++ 2012 可再发行 x86 包安装到客户端计算机时应用程序未运行

(正如 Stack Over Flow 中的许多开发人员针对相同问题提出的那样,我也安装了 Microsoft Visual C++ 2012 可再发行 x86 包。但它没有用。)

我已将以下 dll 包含在调试文件夹中。

  • CefSharp.BrowserSubprocess.Core.dll
  • CefSharp.Core.dll
  • CefSharp.dll
  • CefSharp.Example.dll
  • CefSharp.Wpf.dll
  • d3dcompiler_43.dll
  • d3dcompiler_47.dll
  • ffmpegsumo.dll
  • GalaSoft.MvvmLight.dll
  • GalaSoft.MvvmLight.Extras.dll
  • GalaSoft.MvvmLight.Platform.dll
  • icudt.dll
  • libcef.dll
  • libEGL.dll
  • libGLESv2.dll
  • Microsoft.Practices.ServiceLocation.dll
  • msvcp110
  • msvcr110
  • vccorlib110
  • pdf.dll

我也将以下文件包含在调试文件夹中。

  • 语言环境文件夹
  • cef.pak
  • cef_100_percent.pak
  • cef_200_percent.pak
  • devtools_resources.pak
  • icudtl.dat
  • CefSharp.BrowserSubprocess.exe

但没有运气。

当我运行应用程序时,它显示一条错误消息“CefSharp.BrowserSubprocess 已停止工作”。

我搜索了谷歌以及 stackoverflow。但找不到解决办法。

请在客户端机器中找到我从 debug.txt 文件中得到的调试日志,

[0702/041548:VERBOSE1:pref_proxy_config_tracker_impl.cc(148)] 0B1782D0:将 chrome 代理配置服务设置为 0D3A2260 [0702/041548:VERBOSE1:pref_proxy_config_tracker_impl.cc(277)] 0B1782D0:完成将代理推送到 UpdateProxyConfig [0702/041551:VERBOSE1:webrtc_internals.cc(55)] 无法获取 下载目录。 [0702/041601:VERBOSE1:statistics_recorder.cc(294)] 所有直方图的集合 直方图:AsyncDNS.ConfigChange 记录 1 个样本,平均值 = 1.0 (flags = 0x1)

谁能知道如何解决这个问题?如果是,请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 您引用了CefSharp.Example.dll,您是从source 构建的吗?你用的是什么版本?见stackoverflow.com/a/31175760/4583726
  • Cef.Initialize() 有一个 performDependencyCheck 标志,您可以将其设置为 true。如果打开它会返回错误吗?
  • @amaitland 我在发布模式下再次编译它并遇到同样的问题。我正在从源代码构建应用程序,并且正在使用 CefSharp 3,(Assembly 版本 41.0.0)
  • @Yoshi 我已将 performDependecyCheck 设置为 true。它没有返回任何错误。应用程序在开发机器中工作。但在客户端机器上没有运气。
  • 如果您使用VS2013 从源代码构建CefSharp,那么您将需要VC++ 2013,它们已链接。

标签: c# .net wpf dll cefsharp


【解决方案1】:

我终于解决了这个问题。正如大多数开发人员所说,我们需要安装 Microsoft Visual C++ 2012 可再发行 x86 包以及相关的 dll(有关详细信息,请参阅问题)。我犯的错误是,我包含了调试文件夹中的 dll。但是如果我们在发布模式下运行应用程序,我们需要包含发布文件夹中的 dll。 Debug文件夹和Release文件夹中的dll不一样。我希望这将对其他人有所帮助。

【讨论】:

  • 在开发电脑上安装vc++ 2012还是在运行环境上?
猜你喜欢
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多