使用 CefSharp 在您的 C# 应用程序中嵌入 Chrome






4.82/5 (47投票s)
学习如何将 CefSharp 开源浏览器集成到 C# WinForms 应用程序中
引言
曾经试过在您的应用程序中集成一个可靠且快速的 Web 浏览器,却不得不费尽周折吗?
在本技巧中,您将学习如何轻松地将出色的 CefSharp Web 浏览器组件(基于 Chromium)集成到您的 C# 应用程序中。
然后您可以使用这个 Web 浏览器
- 为用户提供集成的浏览体验
- 添加用 HTML/JavaScript 编写的嵌入式 UI
- 用于 Web 自动化
CefSharp 既可靠又快速,完全开源,并且不需要最终用户安装任何额外的依赖项(除了 VC++ 运行时 2013)。
在本指南中,我们将使用 WinForms 项目,但 CefSharp 同样适用于 WPF 项目。
入门
请按照以下步骤快速开始使用 CefSharp。
项目
1. 创建一个 Windows Forms 应用程序 (C#) 项目,使用 .NET 4.5.2
2. 为您的项目命名(例如 "CefTest
")
DLLs (NuGet 方法)
3A) 如果您使用 NuGet,您可以直接从 NuGet 存储库中获取 CefSharp.WinForms,并跳过下面的手动方法。
3B) 如果您使用了 NuGet,请导航到 解决方案 > 配置管理器,并将您的项目设置为 x86 或 x64,因为目前不支持 AnyCPU。
DLLs (手动方法)
如果您使用了 NUGET,请跳过此部分!
3A) 下载 CefSharp 二进制文件并解压缩它们。
- CefSharp v51 x86(用于 32 位应用程序)
- CefSharp v51 x64(用于 64 位应用程序)
3B) 右键单击您的项目并单击“添加引用”,然后单击“浏览”。
3C) 选择这些 DLL
- CefSharp.dll
- CefSharp.Core.dll
- CefSharp.WinForms.dll
3D) 选择 ZIP 中的所有文件
3E) 将这些文件复制到您的项目的 Debug 文件夹(在 Bin 内部)
代码
4. 右键单击您的主窗体并选择“查看代码”。
5. 添加以下代码
将此复制到您的 import
部分
using CefSharp;
using CefSharp.WinForms;
将此复制到您的代码部分
public ChromiumWebBrowser browser;
public void InitBrowser(){
Cef.Initialize(new CefSettings());
browser = new ChromiumWebBrowser ("www.google.com");
this.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
在调用 InitializeComponent()
之后立即调用 InitBrowser()
InitBrowser()
您的代码最终应该像这样
运行!
6. 按 F5,您将看到 Google 首页!
故障排除
在 browser.exe 中发生了类型为“System.IO.FileNotFoundException”的未处理的异常
其他信息:无法加载文件或程序集“CefSharp.Core.dll”或其依赖项之一。
如果遇到此错误,请确保已安装 Visual C++ 2013 Redistributable。
在 browser.exe 中发生了类型为“System.BadImageFormatException”的未处理的异常
其他信息:无法加载文件或程序集“CefSharp.Core,Version=43.0.0.0,Culture=neutral,
如果遇到此错误,这意味着您使用的是 64 位 PC,并且您的应用程序是以 AnyCPU 模式构建的。您需要将其更改为 x86 或 x64 模式
- 打开 解决方案资源管理器 面板
- 右键单击您的项目 > 项目属性
- 单击 生成 选项卡
- 将 平台目标 更改为 x86 或 x64
功能齐全的浏览器
如果您正在寻找一个功能齐全的浏览器项目,请查看这些 使用 CefSharp 在 C# 中构建的开源浏览器。
WebExpress
WPF。带建议的地址栏、多个选项卡、下载、书签、历史记录。
<作者未提供的屏幕截图>SharpBrowser
Windows Forms。地址栏、多个选项卡、下载。
历史
- V1.0 - 2015 年 11 月 23 日发布文章
- V1.1 - 2015 年 11 月 25 日添加了故障排除指南
- V1.2 - 2015 年 11 月 26 日添加了 NuGet 指南和 VS 项目 ZIP 文件
- V1.3 - 2016 年 8 月 6 日为 64 位 PC 添加了故障排除提示
- V1.4 - 2016 年 8 月 28 日更新到 CefSharp v51 和 .NET 4.5.2
- V1.6 - 2016 年 9 月 2 日添加了 SharpBrowser 和 WebExpress 项目