zoukankan      html  css  js  c++  java
  • .net使用cefsharp开源库开发chrome浏览器(二)

          离上篇写介绍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继续有什么收获也会继续在这里分享。

       

  • 相关阅读:
    灵魂拷问!浏览器输入「xxxxhub」的背后.....
    趣谈 DHCP 协议,有点意思。
    规约模式,颤抖吧产品经理!再也不怕你乱改需求了
    订阅者模式,公众号、B站、快手用了都说好!
    设计模式,你相信吗,只用两个函数实现事务!
    Linux系统中安装Jenkins
    Linux系统在线安装和查看git版本
    VIM中的保存和退出命令
    @JsonProperty爆红
    手动运行jar包
  • 原文地址:https://www.cnblogs.com/huangkaiyan10/p/4162666.html
Copyright © 2011-2022 走看看