cefsharp内嵌资源html的读取,c#中多个项目嵌入CefSharp 不进load方法

需求是在项目中引入CefSharp 与H5、js交互,因为之前用过多次,所以没太当回事,

根据往常一样,打开NuGet管理,搜索CefSharp,下载CefSharp.winforms,

6d408b7c2b6bd2d24aaf3e1cff55c1cf.png

我这里用的是57版本的,这样需要注意的是.net版本需要用到4.5.2

96612ad1a3c4c921bb0cbe4a93e29a7d.png

都完成以后,以前我还总是会自己会引用,但是发现,.net版本需要用到4.5.2是不需要手动去引用的,即使引用里没有也不影响在类里导包

12f5af42dc51d4d5ae39b0a2ead0f5ed.png

因为此项目为多项目形式,

cb41154b94a92ef07d24025059e0db1e.png

我只是在我需要用的模块下载了CefSharp,在项目运行的时候,项目不进入到load方法,如果注释掉下面代码这部分就会进去,

e7c684a4bf6fa2482b284bd60dccbd61.pngvar setting = new CefSharp.CefSettings();

setting.Locale = "zh-CN";

setting.CachePath = "CHBrowser/BrowserCache";//缓存路径

setting.AcceptLanguageList = "zh-CN,zh;q=0.8";//浏览器引擎的语言

setting.LocalesDirPath = "CHBrowser/localeDir";//日志

setting.LogFile = "CHBrowser/LogData";//日志文件

setting.PersistSessionCookies = true;//

setting.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";//浏览器内核

setting.UserDataPath = "CHBrowser/userData";//个人数据

///初始化

CefSharp.Cef.Initialize(setting);

ChromiumWebBrowser WebBrowser;

WebBrowser = new ChromiumWebBrowser(this.rootPath + @"\web\xhNumberCount.html"); //初始页面

//WebBrowser = new ChromiumWebBrowser("http://www.baidu.com"); //初始页面

WebBrowser.RegisterJsObject("jsObj", new JsFunction(), new CefSharp.BindingOptions() { CamelCaseJavascriptNames = false }); //交互数据

WebBrowser.Dock = DockStyle.Fill;//铺满

WebBrowser.Dock = DockStyle.Fill;//设置停靠方式

ultraPanel1.ClientArea.Controls.Add(WebBrowser);//加入窗体

直接崩溃了两天,偶然的在项目的主项目处想尝试下,就在项目主项目中也下载了 CefSharp,也在load里使用了同样的代码,发现load中可以正常加载,然后再回头看子项目,也可以加载了,后来将主项目里的 CefSharp卸载掉,子项目里即使下载了 CefSharp还是不能访问,

就这样总结出了一个道理,

如果c#有多个项目的话,子项目想使用 CefSharp,必须在子项目中下载的同时,在主项目也得下载。

本文来自投稿,不代表本站立场,如若转载,请注明出处:http://7i9.net/297.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值