我的第一个 WinUI 3 程序,遇到了 5 次碰壁
我的第一个 WinUI 3 程序,遇到了 5 次碰壁。为什么要学习 WinUI 3呢?Winform 程序,简单、直接、快速;Wpf 程序,丰富、多样、好看;WinUI3 呢?据说它是前两者的升级版,比它们更酷炫,性能更好,而且跨平台,是技术的前沿。既然这么好,那不得不让人好奇地想去探索它了。
为什么要学习 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,结果就行不通。
于是修改项目的属性,让它以非打包的方式来启动,如下图所示:
碰壁 4 :exe 启动 和 调试运行 不可兼得
碰壁 5 :编译目录下文件数量奇多无比
整体感受
与 winform 和 wpf 的简单方便的使用相比,WinUI 3 的首次接触可以算是 上刀山,下火海 了,希望后面的学习,它能呈现更多的惊艳,来补偿我此刻痛苦的感受。
更多推荐

所有评论(0)