CefSharp Example
Go to file
Alex Maitland 829fbec6d1
Upgrade to 85.3.130 (#115)
* Upgrade to 85.3.130
2020-10-25 13:34:11 +10:00
CefSharp.MinimalExample.OffScreen Upgrade to 85.3.130 (#115) 2020-10-25 13:34:11 +10:00
CefSharp.MinimalExample.WinForms Upgrade to 85.3.130 (#115) 2020-10-25 13:34:11 +10:00
CefSharp.MinimalExample.Wpf Upgrade to 85.3.130 (#115) 2020-10-25 13:34:11 +10:00
.gitattributes Added minimal example of how CefSharp can be used. Only WPF so far. 2013-11-12 13:14:11 +02:00
.gitignore Git Ignore bin.netcore obj.netcore 2020-09-09 17:53:53 +10:00
CefSharp.MinimalExample.netcore.sln Add .NET Core 3.0 WinForms/WPF/OffScreen examples (#57) 2019-09-10 18:20:34 +10:00
CefSharp.MinimalExample.sln Add OffScreen example 2014-11-27 16:40:15 +10:00
LICENSE Updated name of copyright holder. 2013-11-11 09:28:32 +02:00
NuGet.config Add app.manifest to Offscreen example so GPU acceleration works on windows 10 2016-07-05 12:29:08 +10:00
README.md Update README.md 2020-06-09 20:57:51 +10:00
UpdateNugetPackages.bat Upgrade to 85.3.130 (#115) 2020-10-25 13:34:11 +10:00

CefSharp.MinimalExample

Minimal example of how the CefSharp library can be used using the official Nuget packages

  • .NET Framework solution (CefSharp.MinimalExample.sln)
  • .NET Core solution (CefSharp.MinimalExample.netcore.sln).

Includes examples for

  • WinForms
  • WPF
  • OffScreen

For a more complete example of each project see the main CefSharp repository.

.NET Core support

As of version 75.1.142, the CefSharp NuGet packages can be used with .NET Core 3.x projects (as shown by the examples). However, the current versions have some limitations that you should be aware of:

  • Chromium multi-process architecure launches multiple BrowserSubProcess instances for rendering, gpu acceleration, networking, plugins, etc.
    • By default CefSharp provides a default BrowserSubProcess (CefSharp.BrowserSubprocess.exe) which requires the .NET Framework 4.5.2 or higher installed.
    • It is possible to self host the BrowserSubProcess using your application exe this example was updated to demonstrate this in commit 898eb755c6
    • A new .Net Core BrowserSubProcess is in the works at https://github.com/cefsharp/CefSharp.BrowserSubProcess.NetCore
  • Additional entires to your csproj/vbproj are required for the CoreCLR to load the CefSharp.* libraries (They would not be specified in the .deps.json file otherwise). See example below, the netcore.csproj files contained in this example provide a working demo.
  • When publishing a self-contained app using a runtime identifier win-x64 or win-x86, you need to set the Platform property to x64 or x86; as otherwise it would be AnyCPU and the check in the .targets file of the NuGet package would fail.
    Example:
    • x86: dotnet publish -f netcoreapp3.0 -r win-x86 -p:Platform=x86
    • x64: dotnet publish -f netcoreapp3.0 -r win-x64 -p:Platform=x64

It is possible to publish the application as single EXE file by adding -p:PublishSingleFile=true.

.Net Core csproj/vbproj WPF

<!-- Add the following to your csproj/vbproj file -->
<ItemGroup>
	<Reference Update="CefSharp">
	  <Private>true</Private>
	</Reference>
	<Reference Update="CefSharp.Core">
	  <Private>true</Private>
	</Reference>
	<Reference Update="CefSharp.Wpf">
	  <Private>true</Private>
	</Reference>
</ItemGroup>

.Net Core csproj/vbproj WinForms

<!-- Add the following to your csproj/vbproj file -->
<ItemGroup>
    <Reference Update="CefSharp">
      <Private>true</Private>
    </Reference>
    <Reference Update="CefSharp.Core">
      <Private>true</Private>
    </Reference>
    <Reference Update="CefSharp.WinForms">
      <Private>true</Private>
    </Reference>
</ItemGroup>

.Net Core csproj/vbproj OffScreen

<!-- Add the following to your csproj/vbproj file -->
<ItemGroup>
    <Reference Update="CefSharp">
      <Private>true</Private>
    </Reference>
    <Reference Update="CefSharp.Core">
      <Private>true</Private>
    </Reference>
    <Reference Update="CefSharp.OffScreen">
      <Private>true</Private>
    </Reference>
</ItemGroup>