Приложение Cefsharp Winforms показывает пустой браузер - PullRequest
0 голосов
/ 29 октября 2019

У меня есть приложение cefsharp на основе WinForms, которое работало. Я обновил пакеты NuGet для CefSharp (до 75.1.142.0), и теперь браузер показывает только пустое при запуске. В файле журнала указано:

[1029/115545.989:WARNING:resource_bundle.cc(952)] unable to find resource: 164
[1029/115546.193:ERROR:viz_main_impl.cc(170)] Exiting GPU process due to errors during initialization
[1029/115546.210:WARNING:gpu_process_host.cc(1205)] The GPU process has crashed 1 time(s)

Есть ли способ получить более подробную информацию об отладке?

1 Ответ

0 голосов
/ 30 октября 2019

РЕДАКТИРОВАТЬ: ОК - тупой меня! Обновление пакетов не обновляет файлы в моих пользовательских местах (очевидно!). Исправьте это, и все будет мило!

Я нашел ответ, но я не уверен, почему так должно быть. Я закомментировал настройку путей в CefSharpSettings (как показано ниже), и теперь она работает?

private static void LoadForm(string[] args)
{
        // Alternate file locations
        string browser = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"CEFSharp\CefSharp.BrowserSubprocess.exe");
        string locales = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"CEFSharp\locales\");
        string res = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"CEFSharp\");
        string cache = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"CEFSharp\cache\");

        // Initialise CEF
        CefSharpSettings.SubprocessExitIfParentProcessClosed = true;
        CefSharp.CefSharpSettings.LegacyJavascriptBindingEnabled = true;
        CefSettings settings = new CefSettings();
        settings.CachePath = cache;
        settings.MultiThreadedMessageLoop = true;
        settings.ExternalMessagePump = false;
        settings.RemoteDebuggingPort = 8088;
        settings.CefCommandLineArgs.Add("proxy-auto-detect", "true");
        settings.LogFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"CEFSharp\Debug.log");
        //settings.BrowserSubprocessPath = browser;
        //settings.LocalesDirPath = locales;
        //settings.ResourcesDirPath = res;
        settings.DisableGpuAcceleration();
        Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);

        Application.Run(new ImportForm(args));
    }
...