C# CefSharp.BrowserSubprocess.exe已停止工作

C# CefSharp.BrowserSubprocess.exe已停止工作,c#,c#-4.0,chromium-embedded,cefsharp,C#,C# 4.0,Chromium Embedded,Cefsharp,我有一个基于Chromium-31.0.1650.57的CefSharp主项目。一切都很好,但当我点击链接在网站上加载/查看PDF文件并弹出窗口时,我会加载,过了一段时间,我看到对话框说“CefSharp.BrowserSubprocess.exe已停止工作。”,弹出窗口变黑。下面是我在windows事件查看器中找到的内容 Application: CefSharp.BrowserSubprocess.exe Framework Version: v4.0.30319 Description:

我有一个基于Chromium-31.0.1650.57的CefSharp主项目。一切都很好,但当我点击链接在网站上加载/查看PDF文件并弹出窗口时,我会加载,过了一段时间,我看到对话框说“CefSharp.BrowserSubprocess.exe已停止工作。”,弹出窗口变黑。下面是我在windows事件查看器中找到的内容

Application: CefSharp.BrowserSubprocess.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
   at <Module>.CefExecuteProcess(CefMainArgs*, CefRefPtr<CefApp>*)
   at CefSharp.CefAppWrapper.Run(System.String[])
   at CefSharp.BrowserSubprocess.Program.Main(System.String[])
应用程序:CefSharp.BrowserSubprocess.exe
框架版本:v4.0.30319
描述:由于未处理的异常,进程已终止。
异常信息:System.AccessViolationException
堆栈:
at.CefExecuteProcess(CefMainArgs*,CefRefPtr*)
在CefSharp.CefAppWrapper.Run(System.String[])处
位于CefSharp.BrowserSubprocess.Program.Main(System.String[])

问题是什么?我搜索了很多,但没有找到任何想法。

看起来Adobe Acrobat pdf插件崩溃了。该插件在屏幕外渲染模式下无法正常工作。请参见CEF论坛上的此主题:

您可以在CefRequestHandler::OnBeforePluginLoad中禁用特定插件:


我认为您实际上受到了两个不同问题的影响:

  • AdobePDF插件不使用屏幕外呈现,这是
    CefSharp.Wpf
    组件所使用的。请参见下面的
    CefSharp.Wpf.示例的屏幕截图

    短期来说,PDF插件可以与我刚刚在master分支中试用过的
    CefSharp.WinForms
    一起使用。从长远来看,我希望谷歌将Crome PDF支持捐赠给Chromium,因此CEF和CefSharp将及时消除对Adobe PDF插件的依赖

  • 我怀疑这次崩溃是由于您所在的站点在一个新窗口中打开了PDF。从v.31.0.0-pre1版本到现在,master中显然引入了这个bug。请检查是否解决了您的崩溃问题,并在那里报告

  • 术语“屏幕外渲染”-或爱好者版本,甚至OSR,在中解释。总的来说,如果您正在使用CefSharp,我建议您也阅读一点CEF,一般用法wiki页面是一个很好的开始

    CefSharp对WPF使用CEF的OSR模式,对WinForms使用普通/非OSR模式


    您提供的链接将对我有所帮助,但禁用PDF插件并不能解决我的问题。我厌倦了较低版本(25)的CefSharp,可以使用pdf查看器,31版本的问题是什么,我是否缺少一些参考资料?很抱歉问这么一个小问题,但什么是屏幕外渲染模式?我不明白。请添加有关您是否使用上述WPF或WinForms的信息。目前我们正在猜测WPF。这将是很好的,实际上知道啊,好吧,那么在你的情况下,你可以忘记OSR部分的答案。