前言

本篇文章梳理了WinUI 3, Project Reunion和Windows App SDK之间的关系,并具体介绍了如何创立Windows App SDK 1.0版中反对的Unpackaged App。

微软MVP实验室研究员


邢政
上一次入选 MVP 的时候,Windows Phone 还活蹦乱跳的。已经搞了段时间 iOS ,后误入歧途重回某软的怀抱。现在在出名厂商卖电脑为生,人傻钱多可来一叙。
想当初一入 .NET 深似海,现鬓角斑白,说不是真爱,怕他人也是不信的。间或在博客园和 Github 写些心得。坐标魔都,大龄程序员加游戏爱好者,廉颇老矣,尚能饭否?

Windows App SDK 1.0

Project Reunion作为面向次世代Windows App Development的对立工具集。在2021年11月,第三个稳定版正式以1.0的版本号公布的同时,改名部果决出手,以全新的名称Windows App SDK迎接2022年以及Windows 11。

在某软举荐UWP开发者迁徙到Windows App SDK之后,曾有一波“放弃”UWP的新闻。其实在经验了WPF,Silverlight,UWP这些长得挺像(XAML)的UI框架后,开发者降级到Windows App SDK和WinUI 3并不是一件很艰难的事件。毕竟这凑齐了XAML的四样写法,写代码的事,能叫放弃么?空气中登时充斥了快活的滋味……
上面谈谈Windows App SDK中绕不开的WinUI 3,WinUI 3作为Windows App SDK中最为外围和要害的局部,即下一代Windows desktop app开发的原生UI框架,包含托管C#和非托管的C++以及Win32 API。能够了解为某软对过来二十年desktop开发技术的反思和集大成者。
随着版本的迭代,以后WinUI 3的定位较新近有了一些变动。和WinUI 2专门为UWP服务不同,WinUI 3当初不想和UWP扯上关系。

新近预览版中对UWP的反对形容已形迹难寻,能够了解为放大了反对的范畴,集中精力Make Desktop Great Again!依据以后版本的应用体验,有两点值得注意。首先就1.0的版本而言,仍有诸如CameraCaptureUI,InkCanvas和PrintManager等在UWP时代颇为实用的组件没有替代品。其次就是Win10 1809+的版本限度,能够设想对跑在Win7甚至更老零碎上的软件而言,降级近似齐全重写。

Unpackaged App

Windows App SDK 1.0十分有意思的一点,既是对Unpackaged App的反对。和之前无责任猜想的不同,这次对Unpackaged App的反对十分彻底,应用起来也很不便。Unpackaged App不再通过MSIX格局打包上传商店,而是彻底回归到.exe或者.msi的装置形式。
接着咱们用VS 2022来创立久违了的exe程序。除了VS 2022以外,咱们须要额定装置Windows App SDK runtime and MSIX packages。

下载实现解压后,依据电脑的环境抉择对应的安装文件。例如我是64位的Win11零碎,就抉择WindowsAppSDK-Installer-x64,双击后会主动实现装置。

在实现以上筹备后,在VS2022中创立Blank App, Packaged(WinUI 3 in Desktop)工程。经验过UWP DesktopBridge创伤的同学可能会发现,即便是Packaged App,也不再须要额定的Packaging Template工程了。简洁繁多的解决方案界面让人情绪愉悦很多。

而后让咱们鼠标右键抉择编辑工程文件,在工程文件编辑窗口中,增加WindowsPackageType节点并设置为None。

<WindowsPackageType>None</WindowsPackageType>

最初一步则是在开始Debug的下拉列表中,抉择Unpackaged启动配置文件。至此咱们的第一个应用Windows App SDK的exe程序就做好了。点击开始Debug的按钮或按下F5即可胜利运行。

故名思意Unpackaged App咱们能够间接在Output目录,或者Publish目录通过双击exe运行。如下图所示,在胜利公布之后,即可复制整个publish目录到其余Win10 1809+的机器上运行。

美中不足以后版本会在pulish目录蕴含大量的Dll文件。同时运行exe程序的机器也须要装置Windows App SDK Runtime。恍惚间又回到了二十年前在XP装置.NET Runtime的场景,历史真是一个轮回。

这是咱们迈出体验Windows App SDK 1.0的一小步,也同时祝福这是某软为Make Desktop Great Again所构筑的松软终点,为Windows及许许多多缄默的桌面开发者跨出再塑辉煌的一大步。