【发布时间】:2018-10-28 13:26:58
【问题描述】:
我一直在尝试向我的项目添加一个进程外的后台任务来更新我的应用程序的动态磁贴。该任务需要进行数据库调用以获取一些数据,然后处理该数据以发送一些磁贴通知。
我已经设法让它在我专门为后台任务功能原型创建的一个项目中工作。但是,当我尝试将后台任务添加到我的主项目时,它给了我以下错误:
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.
我搜索了这个错误,发现了一些post,它说我应该添加音频任务类型,错误会消失,但后来我得到了一个不同的错误。我什至没有尝试在后台播放音频,所以 UWP 认为我在我之外。
我的项目设置如下所示:
- 1 UWP 项目将秋季创建者的更新作为最低/目标版本。
- 1 个用于数据库的网络标准 2.0 项目(使用 EFcore)
我已尝试遵循 Microsoft 发布的指南,并添加一个仅用于后台任务的 WinRT 项目,但这会给我的 .net 标准 2.0 项目和 UWP 项目带来兼容性问题。我不是一个非常有经验的 UWP 开发人员,所以我想知道是否有人看到我缺少的东西。
让我的后台任务正常工作的最佳方法是什么?即使应用程序未打开,进程中的后台任务是否足以从后台更新动态磁贴?
编辑:我正在使用最新版本的 VS 2017 (15.7.1)
【问题讨论】:
-
如果@Raymond Osterbrink 的建议不能解决您的问题,请提供minimal reproducible example,我会帮助您测试和诊断它。你可以上传它并在这里发布链接。
-
@XavierXie-MSFT 当我按照本教程进行操作时存在这个问题:docs.microsoft.com/en-us/windows/uwp/launch-resume/…
标签: c# uwp background-task live-tile .net-standard-2.0