天天看點

C#嵌入Chromium核心浏覽器75版本

開發環境

開發工具:Visual Studio 2013

建立工程

檔案-->建立項目-->Visual C#-->Windows-->Windows 窗體應用程式-->工程名winfrom-nested-chromium-75

設定dot net framework版本

右擊工程-->屬性-->應用程式-->選擇"目标架構",為dot net framework 4.5.2

安裝CefSharp

指令行安裝:工具-->程式包管理器-->程式包管理器控制台

Install-Package CefSharp.WinForms -Version 75.1.143
           

安裝過程過程中可能會失敗

C#嵌入Chromium核心浏覽器75版本

手動下載下傳安裝

打開nuget官網-->輸入包名-->複制下載下傳位址,使用迅雷下載下傳-->将程式包的所有依賴也使用迅雷下載下傳

建立一個檔案夾,把剛才下載下傳好的字尾為nupkg的nuget程式包,全都放到這裡檔案夾中,并将這個檔案夾添加到nuget本地庫,然後安裝

添加本地庫

工具-->選項-->包管理器-->程式包源->添加

C#嵌入Chromium核心浏覽器75版本
C#嵌入Chromium核心浏覽器75版本

安裝完成

C#嵌入Chromium核心浏覽器75版本

編寫代碼如下

using System;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;

namespace winfrom_nested_chromium_75 {
  public partial class Form1 : Form {
    public ChromiumWebBrowser chromeBrowser;
    public Form1() {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e) {
      var setting = new CefSettings();
      //配置浏覽器路徑
      setting.BrowserSubprocessPath = @"x86\CefSharp.BrowserSubprocess.exe";
      Cef.Initialize(setting, performDependencyCheck: true, browserProcessHandler: null);
      chromeBrowser = new ChromiumWebBrowser("https://studio.dev.tencent.com/ws/wvjbby");
      // Add it to the form and fill it to the form window.
      this.Controls.Add(chromeBrowser);
      chromeBrowser.Dock = DockStyle.Fill;
    }
    private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
      Cef.Shutdown();
    }
  }
}
           

運作程式出現錯誤

CefSharp.Common contains unmanaged resoures, set your project and solution platform to x86 or x64. Alternatively for AnyCPU Support see https://github.com/cefsharp/CefSharp/issues/1714
           

從CefSharp 51開始,您可以使用AnyCPU使用CefSharp,但它不能單獨工作,因為您需要在2個特定檔案中進行一些更改。

還原目标平台問題Any CPU

關閉vs2013

編輯項目的.csproj檔案,并在第一個 <PropertyGroup>的節點添加:

<CefSharpAnyCpuSupport>true</CefSharpAnyCpuSupport>
           

編輯項目的app.config在configuration下添加

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <probing privatePath="x86"/>
  </assemblyBinding>
</runtime>
           

啟動vs2013重新附加元件目

在Cef.Initialize調用前,配置浏覽器啟動路徑,如下代碼

var setting = new CefSettings();
      //配置浏覽器路徑
      setting.BrowserSubprocessPath = @"x86\CefSharp.BrowserSubprocess.exe";
           

然後就可以啟動程式了