標籤:winform style blog http ar 使用 sp for on
離上篇寫介紹pc端的混合開發和為什麼以cefsharp入手研究混合開發已經有好幾天,一直忙,抽不出時間繼續寫怎麼搭建cefsharp開發環境。其實沒有時間是借口,一切都是懶,沒有愛到深處。
今天繼續寫寫怎麼搭建cefsharp環境,開發winform、web混合應用程式。
一、下載程式集dll。
程式集在https://www.nuget.org/packages/CefSharp.WinForms/37.0.0-pre02。可以通過nuget輕鬆獲得所有的依賴庫。如果的你的網路不好,可以先下載,然後再在項目中添加引用。 最小的程式集以及資源需要如
最簡單的方法是通過包擷取,Install-Package CefSharp.WinForms -Pre
二、把項目配置為x86或者x64目標平台
添加項目之後進行編譯,可以你會碰到下面這個錯誤。
CefSharp.Common does not work correctly on ‘AnyCPU‘ platform. You need to specify platform (x86 / x64)。 這個錯誤其實是cefsharp的一個缺陷。cefsharpPic的項目團隊說以後會把這個bug修補。我們暫時現在把這個問題解決。 就是項目的目標平台改為x64 或者x86。
三、初始化cefsharp並建立添加ChromiumWebBrowser顯示網頁。
public partial class Form1 : Form
{
CefSharp.WinForms.ChromiumWebBrowser webCom = null;
public Form1()
{
InitializeComponent();
Load +=Form_Load;
}
protected void Form_Load(object sender, EventArgs e)
{
webCom = new CefSharp.WinForms.ChromiumWebBrowser("www.baidu.com");
webCom.Dock = DockStyle.Fill;
panel1.Controls.Add(webCom);
webCom.Load("www.baidu.com");
}
private void btn_multiChrome_Click(object sender, EventArgs e)
{ for (int i = 0; i < 5; i++) {
childForm child = new childForm();
child.Show();
}
}
}
這樣winfrom就可以顯示百度首頁了
四、個人初次搭建cefsharp環境的時候遇到的問題。
1、沒有在程式啟動的時候初始化cefsharp導致添加ChromiumWebBrowser控制項顯示一片灰色。
2、bin目錄下沒有包含CefSharp.BrowserSubprocess.Core.dll、CefSharp.BrowserSubprocess.exe。關於這兩個資源檔的作用,有興趣可以瞭解
瀏覽器的多進程架構機制原理。這裡給一個資料你可以瞭解,講解主流瀏覽器多進程架構機制:Chrome、IE。
是我的驗證,開啟多個ChromiumWebBrowser控制項顯示網頁就載入多個CefSharp.BrowserSubprocess.exe進程。
這次先寫到這裡。雖然文章沒有什麼技術含量,但是是自己的實際經驗和技術的探索,還希望得到群友的支援,也自己如果在cefsharp繼續有什麼收穫也會繼續在這裡分享。
.net使用cefsharp開源庫開發chrome瀏覽器(二)