我正在尝试注册一个正在进行的后台任务,该任务将使我能够处理来自吐司通知操作的后台事件。我在我的应用程序类创建的OnBackgroundActivated的覆盖,但是当我呼吁我的BackgroundTaskBuilder注册我得到这个异常:在UWP中注册进程中的后台任务
:没有注册(0x80040154的(REGDB_E_CLASSNOTREG)从HRESULT异常)类
BackgroundTaskBuilder builder = new BackgroundTaskBuilder() { Name = "myTask" }; builder.SetTrigger(new ToastNotificationActionTrigger()); BackgroundTaskRegistration task = builder.Register();
我发现很多解决方案都显示这是因为Package.appxmanifest中入口点的名称不正确。例如here,here和here。但根据this article on msdn,我不应该指定,当我想执行过程中的后台任务的入口点:
对于进程不设置TaskEntryPoint后台活动。将其保留为空将启用默认入口点,即Application对象上名为OnBackgroundActivated()的新受保护方法。
,我要打电话RequestAccessAsync在MSDN,文章指出,但两者documentation和智能表明,它是没有必要的。但是,如果我调用RequestAccessAsync,则会引发相同的异常。
您的注册代码在我的身边,OnBackgroundActivated(BackgroundActivatedEventArgs参数)覆盖实现。您是否在异常详细信息中了解了有关缺失班级的更多信息?它可能有帮助...同时(如果尚未完成),您可以仔细检查OnBackgroundActivated()原型,尝试完全重建和/或尽可能尝试在另一台机器上编译。我怀疑SDK安装有问题... – Vincent
没有内部异常。我只是尝试在另一台电脑上,它运行良好。我试图清理,重建,卸载和重新加载,几次恢复nuget。我能做些什么来使它在我的“主”电脑上工作? –
恐怕你唯一的希望将是从VS安装程序重新安装UWP SDK。 – Vincent