Fli*_*pey 5 c# live-tile background-task uwp .net-standard-2.0
我一直在尝试向我的项目添加进程外后台任务,以更新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)
我遇到了同样的问题。不幸的是,添加音频不是解决方案,因为这将是 Windows 商店的要求,不是一个好主意。设置最低目标版本会为您提供非常有限的 Windows 应用商店功能和较少的 UWP 功能。
开始使用此链接并非常小心地遵循它:
https://docs.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task
总结一下:
我个人建议使用进程外后台任务来消除任何可能,如果后台任务崩溃,它不会影响应用程序的运行,也更灵活。
作为提示,您的 BackgroundTaskBuilder 将作为字符串引用:
builder.Name = "MyBackgroundTask";
builder.TaskEntryPoint = "BackgroundTasks.MyBackgroundTask";
Run Code Online (Sandbox Code Playgroud)
我发现在 UWP 中制作后台任务非常乏味,但一旦完成就值得付出努力。
感谢您提供 MSDN-Link,因为我偶然发现了完全相同的问题。
按照链接中的所有说明帮助我启动了我的应用程序。我按照以下步骤操作:
特别是最后一步似乎是强制性的,希望这不会与您期望的需求相冲突。
| 归档时间: |
|
| 查看次数: |
1651 次 |
| 最近记录: |