Click here to Skip to main content
13,801,728 members
Click here to Skip to main content
Add your own
alternative version

Tagged as

Stats

228.3K views
68 bookmarked
Posted 23 Nov 2015
Licenced CPOL

Embedding Chrome in your C# App using CefSharp

, 2 Sep 2016
Rate this:
Please Sign up or sign in to vote.
Learn how to integrate the CefSharp open-source web browser into a C# WinForms app

Introduction

Ever tried to integrate a reliable and fast web browser in your app only to jump through hoops trying?

In this tip, you will learn how easy it is to integrate the fantastic CefSharp web browser component (based on Chromium) into your C# app.

You can then use this web browser:

  • To give users an integrated browsing experience
  • To add embedded UI programmed in HTML/JavaScript
  • For web automation

CefSharp is reliable, fast, fully open-source and does not need any extra dependencies to be installed by end users (except VC++ Runtime 2013).

In this guide, we will use a WinForms project but CefSharp works equally well with WPF projects.

Getting Started

Follow these steps to quickly get started with CefSharp.

Project

1. Create a Windows Forms Application (C#) project with .NET 4.5.2

2. Name your project (e.g. "CefTest")

DLLs (NuGet Method)

3A) If you use NuGet, you can just grab CefSharp.WinForms from the NuGet repository, and skip the manual method below.

3B) If you used NuGet, navigate to SOLUTION > Configuration Manager and set your project to x86 or x64 since AnyCPU is not currently supported.

DLLs (Manual Method)

PLEASE SKIP THIS SECTION IF YOU USED NUGET!

3A)  Download the CefSharp binaries and unzip them.

3B)  Right click your project & click "Add Reference", then "Browse".

3C)  Select these DLLs:

  • CefSharp.dll
  • CefSharp.Core.dll
  • CefSharp.WinForms.dll

3D) Select all the files in the ZIP:

3E)  Copy those files into your Project's Debug folder (inside Bin):

Code

4.  Right click your main form and select "View Code".

5.  Add the following code:

Copy this into your import section:

using CefSharp;
using CefSharp.WinForms;     

Copy this into your code section:

public ChromiumWebBrowser browser;
public void InitBrowser(){
    Cef.Initialize(new CefSettings());
    browser = new ChromiumWebBrowser ("www.google.com");
    this.Controls.Add(browser);
    browser.Dock = DockStyle.Fill;
}

Call InitBrowser() just after the call to InitializeComponent():

InitBrowser()

Your code should finally look like this:

Run!

6.  Press F5 and you will see the Google homepage!

Troubleshooting


An unhandled exception of type 'System.IO.FileNotFoundException' occurred in browser.exe
Additional information: Could not load file or assembly 'CefSharp.Core.dll' or one of its dependencies.

If you get this error, ensure you have Visual C++ 2013 Redistributable installed.

 


An unhandled exception of type 'System.BadImageFormatException' occurred in browser.exe
Additional information: Could not load file or assembly 'CefSharp.Core, Version=43.0.0.0, Culture=neutral, 

If you get this error, it means you are on a 64-bit PC and your app is built in AnyCPU mode. You need to change this to x86 or x64 mode:

  1. Open the Solution Explorer panel
  2. Right click your project > Project Properties
  3. Click on the Build tab
  4. Change Platform target to x86 or x64

Full Featured Browsers

If you are looking for a full-featured browser project, then check out these open source browsers built with CefSharp in C#.

WebExpress

WPF. Address Bar with Suggestions, Multiple tabs, Downloads, Bookmarks, History.

<screenshot not provided by author>

SharpBrowser

Windows Forms. Address Bar, Multiple tabs, Downloads.

Sharp Browser

History

  • V1.0 - Published the article on Nov 23rd, 2015
  • V1.1 - Added troubleshooting guide on Nov 25th, 2015
  • V1.2 - Added NuGet guide and VS project ZIP on Nov 26th, 2015
  • V1.3 - Added troubleshooting tip for 64-bit PCs on Aug 6th 2016
  • V1.4 - Updated to CefSharp v51, and .NET 4.5.2 on Aug 28th 2016
  • V1.6 - Added SharpBrowser and WebExpress projects on Sep 2th 2016

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

No Biography provided

You may also be interested in...

Pro

Comments and Discussions

 
Questioncan not run Pin
Member 114970507-Nov-17 10:18
memberMember 114970507-Nov-17 10:18 
QuestionIs there any alternative of webkitSpeechRecognition? its not working. Pin
Member 188106712-Oct-17 3:02
memberMember 188106712-Oct-17 3:02 
QuestionHow to enable microphone? in cefsharp for c# or vb.net Pin
Member 1285160120-Aug-17 5:53
memberMember 1285160120-Aug-17 5:53 
QuestionApp is not getting open in Client System Pin
Member 1310214011-Jul-17 5:23
memberMember 1310214011-Jul-17 5:23 
QuestionApp run but nothing Pin
dovper26-Apr-17 5:08
memberdovper26-Apr-17 5:08 
QuestionHow to open multiple ChromiumWebBrowsers? Pin
LiQuick24-Jan-17 22:38
memberLiQuick24-Jan-17 22:38 
QuestionHow to disabled update information? Pin
Augustyniak8-Jan-17 4:53
memberAugustyniak8-Jan-17 4:53 
QuestionUse cefSharp in an ASP MVC App Pin
Hedi Sangoku8-Nov-16 11:00
memberHedi Sangoku8-Nov-16 11:00 
QuestionInstalled using Nuget but getting error Pin
ehsan_kayani198626-Oct-16 22:15
memberehsan_kayani198626-Oct-16 22:15 
AnswerRe: Installed using Nuget but getting error Pin
ehsan_kayani198627-Oct-16 2:52
memberehsan_kayani198627-Oct-16 2:52 
QuestionResizing issue Pin
Schubbard31-Aug-16 1:27
memberSchubbard31-Aug-16 1:27 
AnswerRe: Resizing issue Pin
Schubbard31-Aug-16 3:29
memberSchubbard31-Aug-16 3:29 
GeneralRe: Resizing issue Pin
Robin Rodricks2-Sep-16 20:54
memberRobin Rodricks2-Sep-16 20:54 
GeneralRe: Resizing issue Pin
Schubbard4-Sep-16 3:57
memberSchubbard4-Sep-16 3:57 
GeneralRe: Resizing issue Pin
Robin Rodricks6-Sep-16 2:49
memberRobin Rodricks6-Sep-16 2:49 
GeneralRe: Resizing issue Pin
Schubbard6-Sep-16 3:02
memberSchubbard6-Sep-16 3:02 
GeneralRe: Resizing issue Pin
Member 1043519618-Sep-16 6:49
professionalMember 1043519618-Sep-16 6:49 
GeneralRe: Resizing issue Pin
Schubbard18-Sep-16 23:56
memberSchubbard18-Sep-16 23:56 
SuggestionI think you should use Nuget Pin
comwrg28-Aug-16 17:01
membercomwrg28-Aug-16 17:01 
GeneralRe: I think you should use Nuget Pin
Robin Rodricks2-Sep-16 20:55
memberRobin Rodricks2-Sep-16 20:55 
QuestionAfter installing not working Pin
tej narayan maurya20-Aug-16 7:34
membertej narayan maurya20-Aug-16 7:34 
AnswerRe: After installing not working Pin
Robin Rodricks28-Aug-16 1:36
memberRobin Rodricks28-Aug-16 1:36 
QuestionCefShap Not working with version 51 Pin
Dummy Developer2-Aug-16 23:03
memberDummy Developer2-Aug-16 23:03 
AnswerRe: CefShap Not working with version 51 Pin
Robin Rodricks28-Aug-16 1:37
memberRobin Rodricks28-Aug-16 1:37 
AnswerRe: CefShap Not working with version 51 Pin
Robin Rodricks28-Aug-16 4:43
memberRobin Rodricks28-Aug-16 4:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web05 | 2.8.181215.1 | Last Updated 2 Sep 2016
Article Copyright 2015 by Robin Rodricks
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid