我正在嘗試註冊一個正在進行的後臺任務,該任務將使我能夠處理來自吐司通知操作的後臺事件。我在我的應用程序類創建的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