qidao123.com技术社区-IT企服评测·应用市场
标题:
我的第一个 WinUI 3 步调,遇到了 5 次碰钉子
[打印本页]
作者:
九天猎人
时间:
2025-4-17 11:10
标题:
我的第一个 WinUI 3 步调,遇到了 5 次碰钉子
为什么要学习 WinUI 3呢?
Winform 步调,简单、直接、快速;
Wpf 步调,丰富、多样、好看;
WinUI3 呢?听说它是前两者的升级版,比它们更酷炫,性能更好,而且跨平台,是技术的前沿。既然这么好,那不得不让人好奇地想去探索它了。
我的目标
盼望新建一个最简单的步调,让它完备的跑起来。
这个目标对于 winform 和 wpf 来说就是几秒钟的事变,但是在WinUI 3,却遭遇了各种碰钉子 编辑。
开发环境VS2022。
首先选择项目范例,“空白应用,已打包(桌面版中的 WinUI 3)” :
碰钉子 1 :没有设计视图
创建完成后,打开主窗口xaml文件,竟然没有设计视图,这一点远不如WPF和Winform,但是xaml 代码看起来竟然和 wpf 一样,稍微多了一丁点安全感:
碰钉子 2:编译报错
现在开始编译项目,竟然直接就不通过,出现了错误,刚开始就给了我下马威:
这个错误是因为 Windows App SDK (WinUI 3) 对 .NET SDK 版本有特定要求,必要为项目指定特定的Sdk版本,修改为如下图所示:
这时候,重新生成,成功了,转个圈圈庆祝一下
然后,预备以调试模式启动它:
欣慰的是,成功的看到了窗口正常启动了:
项目默认是 X86平台,如果必要调解为x64平台,必要调解以下两处即可:
此时,以 调试模式 和 直接运行模式 2个入口,都可以成功启动它:
看起来好像大功告成了,现在我们去软件的输出目次下,启动试试。
碰钉子 3:exe无法启动
但是又悲剧了,输出目次下,直接运行 exe 竟然没有反应 :
216个文件:
原来在VS调试模式下,默以为这个项目是必要以MSIX打包方式来利用的, 当以非打包的方式直接去点开exe,结果就行不通。
于是修改项目的属性,让它以非打包的方式来启动,如下图所示:
很好,项目编译成功了,又很好,直接点 exe,可以成功启动了。
但是,目次下的文件竟然增长到了358个,太吓人了,我先假装没瞥见,暂时先容忍一下它:
碰钉子 4 :exe 启动 和 调试运行 不可兼得
但是新问题又来了,这时候,在vs中以 调试运行 或 直接运行 都无法成功启动了:
好像二者不可兼得,真是神奇。我就先委曲一下吧,至少它在 开发模式 和 打包模式 下分别给出了可行的方案。
碰钉子 5 :编译目次下文件数目奇多无比
现在有个非常大的问题。只是为了弹出一个click me,竟然编译目次下有300多个文件。 Click me的代价也太大了, 反观 wpf 的编译目次下,干净、利索、又清新:
于是进行以下实验,把项目打包为单文件,但是结果并没有让输出目次下的文件减少,因此放弃这种设置方案:
于是又进行以下实验,把它指定为依赖系统的安装环境,来减少目次下携带的依赖文件,可是文件数目也没怎么变化,而且更关键的是,这时候启动报错了,提示缺少依赖环境,这样反而更麻烦了,所以也放弃了这种设置方案:
看来,系统默认的已经是按照最省心的、以及效率最高的方式来利用了,所以我们暂时先忍受一下它文件的杂乱,来继续看它的功能,因为软件发布之后会以摆设包的形式,会把这一杂乱的现象屏蔽,我们先假定这里不是问题。
所以为了开发调试方便,以及启动性能最优,以及启动最省心,以下是我开发利用的项目配置:
以此为基础,从下篇开始,就可以对它的功能来进行探索了。
整体感受
与 winform 和 wpf 的简单方便的利用相比,WinUI 3 的首次接触可以算是 上刀山,下火海 了,盼望反面的学习,它能呈现更多的惊艳,来补偿我现在痛苦的感受。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/)
Powered by Discuz! X3.4