C# App 中嵌入 Chrome 瀏覽器使用 CefSharp

介紹

之前曾試過在app中整合一個可靠又快速的web瀏覽器嗎?html

在本文中,你會學到如何輕鬆地將奇妙的CefSharp網頁瀏覽器組件(基於Chromium)集成到你的C# app中。java

而後,你可使用此web瀏覽器:git

  • 給用戶提供一個集成的瀏覽體驗
  • 用HTML / JavaScript編程添加嵌入式界面
  • 用於web自動化

CefSharp可靠,快速,徹底開源,不須要任何額外的依賴就能夠安裝到最終用戶(除VC ++ Runtime 2013之外)。github

在本指南中,咱們將使用WinForms項目,但CefSharp一樣可工做於WPF項目。web

入門

按照如下步驟快速開始CefSharp。chrome

項目編程

1.用.NET 4.5.2建立一個Windows窗體應用程序(C#)項目瀏覽器

2.對項目命名(如「CefTest」)app

DLL文件(NuGet方法)ui

3A)若是你使用的是NuGet,那麼你能夠從NuGet代碼倉庫抓取CefSharp.WinForms,跳過下面的手動方法。

3B)若是你已經使用了NuGet,那麼導航SOLUTION > Configuration Manager,並將你的項目設置爲x86或x64,由於目前不支持AnyCPU。

DLL文件(手動方法)

若是你使用的是NuGet,那麼請跳過此章節!

3A)下載CefSharp二進制文件並解壓它們。

CefSharp v51 x86(32位app)

CefSharp v51 x64(64位app)

3B)右擊你的項目,點擊「Add Reference」,而後選擇「Browse」。

3C)選擇這些DLL文件:

CefSharp.dll

CefSharp.Core.dll

CefSharp.WinForms.dll

3D)用ZIP選擇全部文件:

3E)複製那些文件到項目的Debug文件夾(在Bin之中)

代碼

4.右擊你的主窗體,並選擇「View Code」。

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鍵,你會看到谷歌主頁!

故障排除

一個類型爲’System.IO.FileNotFoundException’未處理的異常出如今browser.exe中
其餘信息:沒法加載文件或’CefSharp.Core.dll’程序集或它的一個依賴。

若是你收到此錯誤,請確保你安裝了Visual C ++ 2013 Redistributable。

一個類型爲’System.BadImageFormatException’未處理的異常出如今browser.exe中
其餘信息:沒法加載文件或’CefSharp.Core, Version=43.0.0.0, Culture=neutral,程序集

若是你獲得這個錯誤,它意味着你在64位的PC上,而你的app用AnyCPU模式構建。你須要改變爲x86或x64模式:

  1. 打開Solution Explorer面板
  2. 右鍵點擊你的項目>Project Properties
  3. 單擊Build標籤
  4. 更改Platform target爲x86或x64

全功能瀏覽器

若是你正在尋找一個全功能瀏覽器項目,那麼檢查這些用C# CefSharp構建的開源瀏覽器。

WebExpress

WPF。帶有建議、多個標籤、下載、書籤、歷史記錄的地址欄。

<做者未提供截圖>

SharpBrowser

Windows Forms。地址欄,多標籤,下載。

 

譯文連接:http://www.codeceo.com/article/cefsharp-charp-app-chrome.html
英文原文:Embedding Chrome in your C# App using CefSharp

相關文章
相關標籤/搜索