C# 在UWP中注册进程内后台任务

C# 在UWP中注册进程内后台任务,c#,uwp,C#,Uwp,我正在尝试注册一个进程内后台任务,该任务将使我能够处理来自toast通知操作的后台事件。我已经在我的应用程序类中创建了OnBackgroundActivated的覆盖,但是当我在BackgroundTaskBuilder上调用register时,我得到了以下异常: 类未注册(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG)) 我发现很多解决方案表明这是因为Package.appxmanifest中入口点的名称不正确。例如,和。但是根据,当我想要执行进程内后台任

我正在尝试注册一个进程内后台任务,该任务将使我能够处理来自toast通知操作的后台事件。我已经在我的应用程序类中创建了OnBackgroundActivated的覆盖,但是当我在BackgroundTaskBuilder上调用register时,我得到了以下异常:

类未注册(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))

我发现很多解决方案表明这是因为Package.appxmanifest中入口点的名称不正确。例如,和。但是根据,当我想要执行进程内后台任务时,我不应该指定入口点:

对于进程内后台活动,不设置TaskEntryPoint。保留为空将启用默认入口点,即应用程序对象上名为OnBackgroundActivated()的新受保护方法


msdn文章声明我必须调用RequestAccessAsync,但和intellisense都表明这不是必需的。但是,如果我调用RequestAccessAsync,它会抛出相同的异常。

问题是由我使用的Windows Phone emulator上的操作系统引起的。正如Vincent在评论中建议的那样,重新安装SDK似乎是解决这个问题的正确方法。在我的计算机上重新安装SDK显然没有任何效果,因为问题发生在部署到虚拟设备之后


通过在emulator上的设备设置中重置手机,我能够再次在emulator上成功部署和运行应用程序。

您的注册码在我这边起作用,并实现了OnBackgroundActivatedEventargs(BackgroundActivatedEventArgs)覆盖。在异常详细信息中是否有关于缺少类的更多信息?这可能会有帮助。。。同时(如果尚未完成),您可以再次检查OnBackgroundActivated()原型,尝试完全重建和/或尝试在另一台机器上编译(如果可能)。我怀疑SDK设置有问题…没有内部异常。我刚在另一台电脑上试过,效果很好。我多次尝试清理、重建、卸载和重新加载、恢复nuget。我该怎么做才能让它在我的“主”计算机上工作?恐怕你唯一的希望就是从VS安装程序中重新安装UWP SDK。重新安装SDK没有帮助。修复visual studio也没有帮助。windows 10 SDK的版本是什么?
BackgroundTaskBuilder builder = new BackgroundTaskBuilder()
{
    Name = "myTask"
};
builder.SetTrigger(new ToastNotificationActionTrigger());
BackgroundTaskRegistration task = builder.Register();