我一直在尝试向我的项目添加进程外后台任务,以更新App的实时磁贴。该任务需要进行数据库调用以获取一些数据,然后处理该数据以发出一些平铺通知。
我设法使其在一个专为原型背景任务功能创建的项目中工作。但是,当我尝试将后台任务添加到主项目中时,出现以下错误:
Validation error. error 80080204: App manifest validation error: Line 33, Column 12, Reason: If it is not an audio background task, it is not allowed to have EntryPoint="BackgroundTasks.LiveTileTask" without ActivatableClassId in windows.activatableClass.inProcessServer.
Run Code Online (Sandbox Code Playgroud)
我已经搜索了此错误,并找到了一些帖子,说我应该添加音频任务类型,该错误会消失,但是随后出现另一个错误。我什至不尝试在后台播放音频,因此UWP认为我是我的本职。
我的项目设置如下所示:
我已经尝试按照Microsoft发布的指南进行操作,并添加一个仅用于后台任务的WinRT项目,但是这在与.net standard 2.0项目和UWP项目有关的所有位置都存在兼容性问题。我不是一个非常有经验的UWP开发人员,所以我想知道是否有人看到我缺少的东西。
什么是使我的后台任务正常工作的最佳方法?即使未打开应用,进程内后台任务是否足以从后台更新实时磁贴?
编辑:我正在使用最新版本的VS 2017(15.7.1)