之前,折腾了2天,安装了VS2022和Winformium程序包。
今天根据官方文档,建立自己的项目。看看有啥坑,后面可以避开点。。
感谢@林选臣 提供的官方文档,原创不容易,相互理解支持。NanUI: NanUI是一个开放源代码的.NET项目,它适用于希望使用HTML5 / CSS3等前端技术来构建Windows窗体应用用户界面的.NET / .NET Core开发人员。 (gitee.com)
按步骤1-2都没问题。
步骤3.1,修改Program.cs,简单。
步骤 3.2,创建一个类继承 WinFormiumStartup 来配置应用程序。由于不太懂的状态学习,建了个WinFormiumStartup.cs
坑1:发现报错。。。。。仔细看文字描述,是让建立个类,继承WinFromiumStartup。实际文档案例中,建立了个MyApp的类,继承了WinFormiumStartup ,WinFormiumStartup 是formium中的。
步骤3.3创建一个类实现 Formium,用于配置应用程序的主窗口
坑2:这里,实际是要创建一个MyWindow的类,而不是窗口。这个类的作用是配置窗口。懵懵懂懂的我,起手就建了个窗体,发现报错如下:
“MyWindow.Dispose(bool)”: 没有找到适合的方法来重写 。XXXX\MyWindow.Designer.cs 。
改正就是建MyWindow的类,而不是窗体,单春重建。OK。
步骤4:生成并运行你的第一个 WinFormium 应用程序
编译并运行,报错。
坑3:报错内容:System.IO.FileNotFoundException无法找到libcef.dll文件路径或cef运行时文件结构不正确。 在 XXXXX.Program.Main(String[] args)
如图:
努力挣扎了1天。。。别下载dll文件,没有用。。。。
查阅了作者博客,为向作者致敬,引入作者博客:林选臣 - 博客园 (cnblogs.com),大家可以前往查看。
又痛苦挣扎1天,不得已,去QQ群问大神吧。。
这里感谢作者提供的交流群,我不是广告推广,只是单纯的提下,毕竟作业对自己的东西了解。作者提供的QQ群:NanUI 界面组件 - 交流群 521854872 。记得回答问题才能进群。
作者或者QQ群主给出了答复,完美解决。
我的错误,以为是winformium 是之前所有的框架集成到一起,只安装了winformium程序包。作者指出需要安装 NetDimension.NanUI.Runtime。
安装后,成功出现界面。
PS:总结本次调试。
与作者沟通大概意思:
1、winformium 与NetDimension.NanUI 是两个框架。
winformium的功能较多,更健壮,目前1.0 仍然处于免费开源状态。
NetDimension.NanUI ,属于社区免费版。
2、上面2个框架,都需要安装NetDimension.NanUI.Runtime这个程序包,然后都使用相同的runtime也就是NetDimension.NanUI.Runtime,内核都是一样的。
我之所以出现问题,是因为按我理解的安装了winformium程序包,就不需要安装NetDimension.NanUI.Runtime了。其实是错误的。
按作者解答:
(1)”runtime其实就是cef,搞得明白cef的文件架构可以不用装runtime,手动配置cef的文件也行;runtime的存在是为了以最简单的方式供大家白嫖cef而不用考虑架构问题”
(2)2个框架都需要这个runtime。在实际安装框架过程中,作者提示
A:“WinFormium和NetDimenison.NanUI这两个只能取其一,两个装就要冲突”
B:可以WinFormium + NetDimension.NanUI.Runtime
C:也可以NetDimenison.NanUI + NetDimension.NanUI.Runtime
然后都使用相同的runtime也就是NetDimension.NanUI.Runtime,所以不必纠结,内核都是一样的。