在我的UWP应用程序中,如何通过UpdateTask中的代码进行调试? VS 2017中的“生命周期事件”下拉列表似乎没有提供触发此类后台任务的选择。有没有办法实现这个目标?
答案 0 :(得分:3)
关于UWP的UpdateTask的第一个上下文:当您的UWP收到更新时,它是您的应用程序可以实现的后台任务,以便由系统触发。它在后台进程中从更新的应用程序包运行您的代码,因此您可以处理与特定更新相关的任何维护(例如,更改数据结构)。要为您的应用设置UpdateTask,您需要做两件事:
a)在appx清单中声明UpdateTask:
<Extension Category="windows.updateTask" EntryPoint="BackgroundTasks.UpdateTask" />
b)添加一个Windows Runtime组件,该组件以与EntryPoint声明匹配的类型实现任务,并引用应用项目中的组件。
在调试更新过程之前,请先确保部署了应用程序的初始版本。然后更改项目属性中的调试设置,如下所示:
接下来,要确保触发UpdateTask,请在清单编辑器中增加软件包的版本号:
现在,当您在VS 2017中点击F5时,您的应用程序将会更新,系统将在后台激活UpdateTask组件。调试器将自动附加到后台进程。您的断点将被点击,您可以逐步完成更新代码逻辑(在我的示例中只是一个吐司)。
当后台任务完成后,您现在还可以在同一调试会话中从应用程序列表启动前台应用程序。调试器将再次自动附加到您的前台进程,您可以逐步执行主应用程序逻辑。
VS 2015用户注意事项: 以上适用于VS 2017.如果您使用VS 2015,您可以使用相同的技术来触发和测试UpdateTask,但VS不会附加到它。 VS 2015中的另一个过程是设置一个与入口点具有相同UpdateTask的ApplicationTrigger,并直接从前台应用程序触发执行。
谢谢, Stefan Wick - Windows开发人员平台