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

2016-09-23    分類:.NET開發、程式設計開發、首頁精華0人評論發表於2016-09-23

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

介紹

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

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

然後,你可以使用此web瀏覽器:

  • 給使用者提供一個整合的瀏覽體驗
  • 用HTML / JavaScript程式設計新增嵌入式介面
  • 用於web自動化

CefSharp可靠,快速,完全開源,不需要任何額外的依賴就可以安裝到終端使用者(除VC ++ Runtime 2013以外)。

在本指南中,我們將使用WinForms專案,但CefSharp同樣可工作於WPF專案。

入門

按照以下步驟快速開始CefSharp。

專案

1.用.NET 4.5.2建立一個Windows窗體應用程式(C#)專案

2.對專案命名(如“CefTest”)

DLL檔案(NuGet方法)

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
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章