Проект CefSharp 3 WPF не запускался на клиентской машине

Мне нужно запустить проект CefSharp WPF на клиентской машине. Проект работает на машине разработки. Но не запускал на клиентской машине.

Вот некоторые выводы, которые я нашел:

  1. Когда я устанавливаю Visual Studio 2013 на клиентский компьютер и запускаю приложение, оно работает отлично.
  2. Приложение не запускалось при установке распространяемого пакета x86 .NetFramework 4.5 и Microsoft Visual C++ 2012 на клиентский компьютер

(Как было предложено многими разработчиками в Stack Over Flow для той же проблемы, я также установил распространяемый пакет x86 Microsoft Visual C++ 2012. Но это не сработало.)

Я включил следующие 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_100_percent.pak
  • cef_200_percent.pak
  • devtools_resources.pak
  • icudtl.dat
  • CefSharp.BrowserSubprocess.exe

Но не повезло.

Когда я запускаю приложение, оно показывает сообщение об ошибке: «CefSharp.BrowserSubprocess перестал работать».

Я искал в Google, а также в 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: передача прокси-сервера в UpdateProxy0 завершена :webrtc_internals.cc(55)] Не удалось получить каталог загрузки. [0702/041601:VERBOSE1:statistics_recorder.cc(294)] Коллекция всех гистограмм Гистограмма: AsyncDNS.ConfigChange записал 1 выборку, среднее = 1,0 (флаги = 0x1)

Может кто знает как решить эту проблему? Если да, пожалуйста, помогите мне решить эту проблему.

Заранее спасибо.


person Ahamed Salik    schedule 02.07.2015    source источник
comment
У вас есть ссылка на CefSharp.Example.dll, вы строили из source? Какую версию ты используешь? См. stackoverflow.com/a/31175760/4583726.   -  person amaitland    schedule 02.07.2015
comment
Cef.Initialize() имеет флаг PerformDependencyCheck, для которого вы можете установить значение true. Это возвращает ошибку, если вы включите его?   -  person Yoshi    schedule 03.07.2015
comment
@amaitland Я снова скомпилировал его в режиме выпуска и получил ту же проблему. Я создаю приложение из исходного кода и использую CefSharp 3 (версия сборки 41.0.0).   -  person Ahamed Salik    schedule 03.07.2015
comment
@Yoshi Я установил для PerformDependecyCheck значение true. Он не вернул никакой ошибки. Приложение работает на машине разработки. Но не повезло в клиентской машине.   -  person Ahamed Salik    schedule 03.07.2015
comment
Если вы собрали CefSharp из исходного кода, используя VS2013, вам понадобится VC++ 2013, они связаны.   -  person amaitland    schedule 03.07.2015


Ответы (1)


Наконец решаю вопрос. Как сказали большинство разработчиков, нам необходимо установить распространяемый пакет Microsoft Visual C++ 2012 x86, а также соответствующие dll (подробности см. В вопросе). Ошибка, которую я сделал, заключалась в том, что я включил dll, которые находятся в папке отладки. Но если мы запускаем приложение в режиме релиза, нам нужно включить dll, которые находятся в папке релиза. Dll в папке Debug и в папке Release не совпадают. Я надеюсь, что это поможет кому-то еще в будущем.

person Ahamed Salik    schedule 06.07.2015
comment
установить vc++ 2012 на компьютер для разработки или в среду выполнения? - person Privesh; 24.12.2015