Cefsharp 任何CPU都无法显示浏览器

Cefsharp 任何CPU都无法显示浏览器,cefsharp,Cefsharp,首先,我对.NET和C相当陌生,这是一个同时学习C和CEF的项目 我已经学习了许多网络教程,并研究了创建WinForms应用程序的示例 我已经从NuGet安装了CefSharp.WinForms 53.0.1,我的项目使用的是任何CPU CefSharp 51+都有任何CPU支持 为了实现这一点,我主要遵循我们代码中的教程。我按照建议对任何CPU进行了更改,并包含了加载google的基本代码 一切都很好,但是当表单显示时,没有显示浏览器,只有一个空白表单 如果将目标设置为x64或x86,则浏览器

首先,我对.NET和C相当陌生,这是一个同时学习C和CEF的项目

我已经学习了许多网络教程,并研究了创建WinForms应用程序的示例

我已经从NuGet安装了CefSharp.WinForms 53.0.1,我的项目使用的是任何CPU CefSharp 51+都有任何CPU支持

为了实现这一点,我主要遵循我们代码中的教程。我按照建议对任何CPU进行了更改,并包含了加载google的基本代码

一切都很好,但是当表单显示时,没有显示浏览器,只有一个空白表单

如果将目标设置为x64或x86,则浏览器将按预期显示

我注意到在我们的代码评论中,用户Edek Halon也有同样的问题,但似乎没有提供解决方案。Edek和我有相同的设置,所以我想知道这是否是53.0.1中的问题?乔伊·德弗里斯在评论中可能也有同样的问题

本GitHub版本介绍了CefSharp中对任何CPU的新增支持:

CefSharp有一个疑难解答页面,看起来有点矛盾。在一般故障排除下

1平台目标使用NuGet软件包时必须选择x86或x64。如果选择AnyCPU,NuGet magic当前将不起作用


CefSharp是否需要从源代码构建才能让任何CPU正常工作?

如果有人对此有困难,请按照以下链接上的Github教程进行操作:

基本上,代码应如下Winforms示例所示:

 CefSharpSettings.SubprocessExitIfParentProcessClosed = true;
 Cef.EnableHighDPISupport();
 CefSettings settings = new CefSettings
        {
            CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache"), //By default CefSharp will use an in-memory cache, you need to specify a Cache Folder to persist data
            BrowserSubprocessPath = @"x86\CefSharp.BrowserSubprocess.exe"
        };
        Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null); // Initialize cef with the provided settings            
        chromeBrowser = new ChromiumWebBrowser("http://ourcodeworld.com"); // Create a browser component            
        this.Controls.Add(chromeBrowser); // Add it to the form and fill it to the form window.
        chromeBrowser.Dock = DockStyle.Fill;

遵循Github问题中概述的建议。某些x64机器上存在已知问题,请参阅发行说明。“我们的代码世界”文章缺少一个步骤。@amaitland谢谢你,伙计!完全正确我已经找到了问题说明中缺少的步骤,它工作得非常好。作为一个初学者,我相信这个简单的教程,但至少现在我已经了解了很多CPU的工作原理。