1. 程式人生 > >在 C# App 中嵌入 Chrome 瀏覽器使用 CefSharp

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

<div id="cnblogs_post_body" class="blogpost-body"><h2>介紹</h2>

以前曾試過在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二進位制檔案並解壓它們。

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構建的開源瀏覽器。

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

<作者未提供截圖>

Windows Forms。位址列,多標籤,下載。