65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.82/5 (47投票s)

2015 年 11 月 23 日

CPOL

3分钟阅读

viewsIcon

504451

学习如何将 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 二进制文件并解压缩它们。

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 模式

  1. 打开 解决方案资源管理器 面板
  2. 右键单击您的项目 > 项目属性
  3. 单击 生成 选项卡
  4. 平台目标 更改为 x86 或 x64

功能齐全的浏览器

如果您正在寻找一个功能齐全的浏览器项目,请查看这些 使用 CefSharp 在 C# 中构建的开源浏览器。

WebExpress

WPF。带建议的地址栏、多个选项卡、下载、书签、历史记录。

<作者未提供的屏幕截图>

SharpBrowser

Windows Forms。地址栏、多个选项卡、下载。

Sharp Browser

历史

  • 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 项目
© . All rights reserved.