CefSharp在WinForm中的应用与部署(入门篇)

WinForm 里的 Chrome 浏览器嵌入,其实还真不是想象中点几下 NuGet 就能完事。CefSharp这玩意儿虽然好用,但安装过程略显“社死”——是你英文不太行的时候,连文档都看得脑壳疼。

这个笔记主要讲的是 B 方案的部署方式。比起那种七绕八绕的 A 方案,B 方案算是比较稳的——用 VS2013 或 VS2017 都能跑起来。关键点是:新建两个项目,一个 WinForm 启动器,一个类库负责放浏览器组件,用 NuGet 搞定CefSharp.WinForms包。

项目结构要清晰,引用也得设好。别忘了统一平台目标到x86x64,不然运行的时候直接报错让你怀疑人生。还有,装完包后最好重启下 Visual Studio,别问,问就是 IntelliSense 罢工。

下面这段代码是精华,怎么在窗体里搞出一个ChromiumWebBrowser,加载网页:

public void InitializeChromium() {
  CefSettings settings = new CefSettings();
  Cef.Initialize(settings);
  chromeBrowser = new ChromiumWebBrowser("https://www.example.com");
  chromeBrowser.Dock = DockStyle.Fill;
  Controls.Add(chromeBrowser);
}

记住,别随手放路径啥的,要保证相关 DLL 也能被带上打包,不然部署到客户机器上直接歇菜。开发的时候可以用bin/Debug里的输出目录,打包的时候记得文件全拷。

如果你想在 WinForm 项目里加一个现代感十足的网页功能,还不想自己搞嵌套浏览器引擎,那这份笔记值得看一看。尤其是你要上HTML5页面、嵌图表、跑脚本,CefSharp 真的挺香的。

pdf 文件大小:246.79KB