我有winform应用程序,当同时运行2个浏览器时,退出更高的浏览器我的更高版本的浏览器已退出,没有跳转到“异常”我看着事件查看器,看到:错误的模块名称:libcef.dll,版本:73.1.13.0,时间戳:0x5c8499d0异常代码:0xc0000005我该如何解决这个问题?谢谢!
if (!CefSharp.Cef.IsInitialized)
{
CefSharp.WinForms.CefSettings settings = new CefSharp.WinForms.CefSettings();
settings.CachePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\CEF";
settings.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36";
settings.LogFile = "prod-cef.log";
settings.LogSeverity = LogSeverity.Default;
CefSharpSettings.SubprocessExitIfParentProcessClosed = true;
CefSharp.Cef.Initialize(settings);
}
if (this.InvokeRequired)
{
this.Invoke((Action)(() =>
{
try
{
if (prodBrowser == null)
{
prodBrowser = new ChromiumWebBrowser(url);
//Setting browswer
pnlChrome.Controls.Clear();
this.Controls.Add(prodBrowser);
prodBrowser.Location = new System.Drawing.Point(1, 70);
prodBrowser.MinimumSize = new System.Drawing.Size(20, 20);
prodBrowser.Name = "webBrowser";
prodBrowser.Size = new System.Drawing.Size(956, 827);
prodBrowser.TabIndex = 4;
prodBrowser.Dock = DockStyle.Fill;
pnlChrome.Controls.Add(prodBrowser);
//prodBrowser.LoadingStateChanged += OnLoadingStateChanged;
}
else
{
prodBrowser.Refresh();
prodBrowser.Load(url);
}
}
catch(Exception ex)
{
}
}));
}
我在尝试在不同线程中运行多个CEFSharp浏览器时遇到了类似的问题-一个窗口的弹出窗口会在另一个窗口中显示,等等。可能是您遇到的同一问题。我发现要修复的唯一方法是在单独的进程中运行它们。