这是教程的最后一部分,演示如何现代化名为 Contoso Expenses 的示例 WPF 桌面应用。 有关下载示例应用的教程、先决条件和说明的概述,请参阅 教程:现代化 WPF 应用。 本文假设你已完成 第 4 部分。
在 第 4 部分中 ,你了解到,某些 WinRT API(包括通知 API)需要包标识,然后才能在应用中使用它们。 可以通过使用 MSIX(Windows 10 中引入的打包格式)对 Contoso Expenses 进行打包来获取包标识,并部署 Windows 应用程序。 MSIX 为开发人员和 IT 专业人员提供了优势,包括:
- 优化网络使用和存储空间。
- 完整且彻底的卸载,得益于应用程序在轻量级容器中运行。 系统上没有留下任何注册表项和临时文件。
- 将 OS 更新与应用程序更新和自定义项分离。
- 简化安装、更新和卸载过程。
本教程的这一部分介绍如何在 MSIX 包中打包 Contoso Expenses 应用。
打包应用程序
Visual Studio 2019 提供了一种使用 Windows 应用程序打包项目打包桌面应用程序的简单方法。
在 解决方案资源管理器中,右键单击 ContosoExpenses 解决方案,然后选择 添加 -> 新建项目。
在“添加新项目”对话框中,搜索
packaging。然后在 C# 类别中选择 Windows 应用程序打包项目 项目模板,并单击 下一步。
将新项目命名为
ContosoExpenses.Package,然后单击《创建》。选择 Windows 10, 版本 1903(10.0; 生成 18362) 作为 目标版本 和 最低版本,然后单击 确定。
ContosoExpenses.Package 项目将添加到 ContosoExpenses 解决方案。 此项目包括一个 包清单,用于描述应用程序,以及用于项目的某些默认资产,如“程序”菜单中的图标和“开始”屏幕中的磁贴。 但是,与 UWP 项目不同,打包项目不包含代码。 其用途是打包现有桌面应用。
在 ContosoExpenses.Package 项目中,右键单击 应用 节点,然后选择 添加引用。 此节点指定解决方案中的哪些应用程序将包含在包中。
在项目列表中,选择 ContosoExpenses.Core 并单击 确定。
展开 应用程序 节点,确认引用的 ContosoExpense.Core 项目被加粗显示。 这意味着它将作为软件包的起始点。
右键单击 ContosoExpenses.Package 项目
,然后选择 设为启动项目 。按 F5 在调试器中启动打包的应用。
此时,你可以注意到一些更改,这些更改表明该应用现在以打包形式运行。
任务栏或“开始”菜单中的图标现在是每个 Windows 应用程序打包项目中包含的默认资产。
如果右键单击“开始”菜单中列出的 ContosoExpense.Package 应用程序,你会注意到通常为从 Microsoft 应用商店下载的应用保留的选项,例如 应用设置、评分和评价 和 分享。
如果要卸载应用,可以在“开始”菜单中右键单击 ContosoExpense.Package ,然后选择“ 卸载”。 应用将立即删除,而不会在系统上留下任何剩余内容。
测试通知
现在,你已将 Contoso Expenses 应用打包到 MSIX 中,可以测试在 第 4 部分结束时不起作用的通知方案。
- 在 Contoso Expense 应用中,从列表中选择一名员工,然后单击“添加新费用 按钮。
- 填写表单中的所有字段,然后按“保存”。
- 确认看到 OS 通知。