.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继续有什么收获也会继续在这里分享。
.net使用cefsharp开源库开发chrome浏览器(二)的更多相关文章
- .net使用cefsharp开源库开发chrome浏览器(一)
一.背景 公司现在使用.NET技术,有web组.有winfrom桌面组.而这两组团队业务部分有分多相似的地方,使用的数据源也是相同的,以此造成两组团队之间做了很多彼此都已经做过的工作. 有什么办法使得 ...
- C#使用CefSharp开源库开发Chrome 浏览器
一.介绍 这个东西我以前没有接触过,但是公司项目里面有用到这个东西,所以就顺便研究一下.今天只是做了 WinForm 的测试,有时间了在试试 WPF 是如何实现的.刚开始一塌糊涂,有点麻 ...
- .net使用cefsharp开源库开发chrome
.net使用cefsharp开源库开发chrome 离上篇写介绍pc端的混合开发和为什么以cefsharp入手研究混合开发已经有好几天,一直忙,抽不出时间继续写怎么搭建cefsharp开发环境.其实没 ...
- 手把手教你开发Chrome扩展二:为html添加行为
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 上一节我们 ...
- CefSharp开源库的使用(一)
关于CEF: 嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chromium的Webbrows ...
- 怎样开发Chrome浏览器的插件
http://jingyan.baidu.com/article/b907e627fb90fd46e7891c3c.html Chrome 浏览器作为基于Webkit的新一代浏览器.Chrome自从正 ...
- iOS----精品开源库-开发强力助攻
30个精品iOS开源库,超强助攻 你不会想错过他们,真的. 我爱开源. 文章的尾部你会看到一个太长不看的版本——一个简单的列表,只有标题和到项目的链接.如果你发现这篇文章是有用的,把它和你的iOS开 ...
- Modbus库开发笔记之二:Modbus消息帧的生成
前面我们已经对Modbus的基本事务作了说明,也据此设计了我们将要实现的主从站的操作流程.这其中与Modbus直接相关的就是Modbus消息帧的生成.Modbus消息帧也是实现Modbus通讯协议的根 ...
- Chrome浏览器二维码生成插件
猛击就可以使用啦->>>猛击使用 源码如下: 源码打包 源码: jquery-2.1.3.min.js jquery.qrcode.min.js https://gith ...
随机推荐
- 从OOP的角度看Golang
资料来源 https://github.com/luciotato/golang-notes/blob/master/OOP.md?hmsr=toutiao.io&utm_medium=tou ...
- Easyui Ajax验证Form表单。。。
今天做项目用到easyui Ajax验证表单.本想自定义一个easyui的验证,查资料发现easyui 自带了一个通用的验证!见以下下截图. 后台返回值 true验证通过,返回false验证失 ...
- Access restriction: The type 'FileURLConnection' is not API
遇到这种报错,解决方案如下: 报错原因是访问限制报错 工具栏中Project>preferences>java-Compiler>Errors/Warnings>把右侧的[De ...
- MongoDB常用操作命令大全
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作.输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个 ...
- jquery-lazyload延迟加载图片
下载地址:https://github.com/tuupola/jquery_lazyload用法:头部引用<script src="jquery.js" type=&quo ...
- (转)什么是“黑客” by 王珢
什么是“黑客” by 王垠很多程序员自豪的把自己叫做“黑客”(hacker),把编程叫做 hack.可是殊不知,其实在最高级的程序员眼里,“黑客”其实是一个贬义词.他们更愿意被叫做“程序员”(prog ...
- 关于兼容IE的一些策略
--css 盒子模型下的 box-sizing 属性,只兼容到ie8: -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o- ...
- JS 的事件委托机制
以前写上图所示的鼠标点击触发事件,一般都是用如下所示的给每一个表示列表的标签绑定一个click事件(演示用的例子的框架是React): 毫无疑问,这样是比较繁琐的,以后维护修改改个函数名什么的还不方便 ...
- 安装wampserver遇到,无法启动此程序,丢失MSVCR110.dll
这个问题遇到多次了,根据网上的解决办法,下载这个动态链接库文件,安装到指定位置重启系统后还是解决不了,其实这个文件有时候是存在的也会出现这个问题.问题截图如下 其实这个我认为是系统缺少了相关组组件的安 ...
- Oracle EBS - PO Approval
PO Approval Except Standard Flow: 1. Personal setting