Nhúng Chrome trong C# App bằng CefSharp

Giới thiệu

Đã bao giờ cố gắng để tích hợp một trình duyệt web đáng tin cậy và nhanh chóng trong ứng dụng của bạn chỉ để nhảy qua vòng thử?

Trong mẹo này, bạn sẽ học cách dễ dàng để tích hợp thành phần trình duyệt web CefSharp tuyệt vời (dựa trên Chromium ) vào ứng dụng C # của bạn.

Sau đó, bạn có thể sử dụng trình duyệt web này:

  • Để cung cấp cho người dùng trải nghiệm duyệt web tích hợp
  • Thêm giao diện người dùng nhúng được lập trình trong HTML / JavaScript
  • Đối với tự động hóa web

CefSharp là đáng tin cậy, nhanh, hoàn toàn mã nguồn mở và không cần bất kỳ phụ thuộc thêm nào được cài đặt bởi người dùng cuối (ngoại trừ VC ++ Thời gian chạy 2013).

Trong hướng dẫn này, chúng tôi sẽ sử dụng một dự án WinForms nhưng CefSharp hoạt động bình đẳng với các dự án WPF.

Bắt đầu

Làm theo các bước sau để nhanh chóng bắt đầu với CefSharp.

Dự án

1. Tạo một dự án Windows Forms Application (C #) với .NET 4.5.2

2. Tên dự án của bạn (ví dụ: " CefTest")

DLL (Phương pháp NuGet)

3A) Nếu bạn sử dụng NuGet , bạn có thể thêm  CefSharp.WinForms  từ kho NuGet, và bỏ qua phương pháp thủ công dưới đây.

3B) Nếu bạn sử dụng NuGet, hãy điều hướng đến  SOLUTION> Configuration Manager và đặt dự án của bạn lên x86 hoặc x64 vì AnyCPU hiện không được hỗ trợ.

DLL (Phương pháp thủ công)

3A) Tải về các chương trình CefSharp và giải nén chúng.

3B) Nhấp chuột phải vào dự án của bạn và nhấp vào "Add Reference", sau đó chọn "Browse".

3C) Chọn các tệp DLL này:

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

3D) Chọn tất cả các tệp trong ZIP:

3E) Sao chép các tệp này vào thư mục Debug của Project (bên trong Bin ):

CODE

4. Nhấp chuột phải vào biểu mẫu chính của bạn và chọn "View Code".

5. Thêm code sau đây:

Thêm các thư viện sau:

using CefSharp;
using CefSharp.WinForms;

Sao chép này vào phần mã của bạn:

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

Gọi InitBrowser()ngay sau  InitializeComponent():

InitBrowser()

Code của bạn cuối cùng sẽ giống như sau:

Chạy!

6. Nhấn F5 và bạn sẽ thấy trang chủ Google!

Xử lý sự cố


Một ngoại lệ không được quản lý của loại 'System.IO.FileNotFoundException' xảy ra trong trình duyệt.exe 
Thông tin bổ sung: Không thể tải tập tin hoặc lắp ráp 'CefSharp.Core.dll' hoặc một trong những phụ thuộc của nó.

Nếu bạn gặp lỗi này, đảm bảo rằng bạn đã   cài đặt Visual C ++ 2013 Redistributable .

 


Một ngoại lệ không được quản lý của loại 'System.BadImageFormatException' xảy ra trong trình duyệt.exe 
Thông tin bổ sung: Không thể tải tệp hoặc lắp ráp 'CefSharp.Core, Phiên bản = 43.0.0.0, Văn hoá = trung lập, 

Nếu bạn gặp lỗi này, có nghĩa là bạn đang sử dụng máy tính 64-bit và ứng dụng của bạn được xây dựng trong chế độ AnyCPU. Bạn cần thay đổi chế độ này sang chế độ x86 hoặc x64:

  1. Mở bảng điều khiển giải pháp
  2. Nhấp chuột phải vào dự án của bạn> Thuộc tính dự án
  3. Nhấp vào tab Xây dựng
  4. Thay đổi Mục tiêu nền tảng thành x86 hoặc x64

 

<ảnh chụp màn hình không do tác giả cung cấp>

 

Trình duyệt Sharp

Nguyễn Tuấn Khiêm

Nguồn: www.codeproject.com

Dịch bởi: Google Tranlate