最近需要用.NET开发winform项目,搜索了下html做界面方面的资料,希望替代原生webbrowser控件,结果发现CefSharp这个开源控件项目。cefsharp目前中文资料不多,下面记录CEFSharp使用的一些过程。
首先是写个Demo,直接使用VS创建项目,并且用nuget获取cefsharp。demo代码很简单:
private void Form1_Load(object sender, EventArgs e) { WebView webView = new WebView(); webView.Address = "http://www.baidu.com"; webView.Dock = DockStyle.Fill; this.Controls.Add(webView); }
直接运行,结果报错:
发现是少了一个叫libcef.dll的dll文件,从项目packages文件夹下找到这个dll复制到bin/debug目录下。
接着运行,结果也没错误提示,也没反应。后来查看了下debug.log,发现又出错了:
[0401/163914:WARNING:resource_bundle.cc(303)] locale_file_path.empty()
[0401/163914:FATAL:cef_context.cc(411)] Check failed: !loaded_locale.empty(). Locale could not be found for en-US
提示找不到文件,网上搜索发现是bin/debug/locales文件夹里缺少en-US.pak文件,从packages文件夹里找到en-US.pak复制过去。
一切运行正常了。