2014-05-20 15 views
14

Quando provo a registrare un'attività in background in Windows Phone 8.1 insted di questo esempio http://code.msdn.microsoft.com/windowsapps/Tile-Update-every-minute-68dbbbff ho ricevuto questo errore :Errore: Classe non registrata (eccezione da HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) durante il tentativo di registrare un telefono Windows di attività in background 8.1

Classe non registrata (eccezione da HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

ho utilizzare questo codice:

Dim taskBuilder As New BackgroundTaskBuilder() 
taskBuilder.Name = taskName 
taskBuilder.TaskEntryPoint = taskEntryPoint 
taskBuilder.SetTrigger(New SystemTrigger(SystemTriggerType.UserPresent, False)) 
taskBuilder.Register() 

Qualsiasi aiuto per favore?

+0

http://blogs.msdn.com/b/thunbrynt/archive/2014/04/10/windows-phone-8-1-for-developers-live-tiles.aspx –

+0

hai trovato qualche soluzione? – asitis

risposta

28

Assicurarsi che il valore della variabile taskEntryPoint corrisponda al punto Entry: valore si è definito nella Package.appmanifest >>>dichiarazioni >>>Sfondo Compiti >>>Punto di ingresso.

+0

GRAZIE. Qualche suggerimento su come/perché dovevo saperlo? – ZX9

+0

Ottima risposta. Ad esempio, supponiamo che il punto di ingresso sia una classe di un progetto di attività in background nella stessa soluzione VS, dovrebbe essere il nome classe completo con lo spazio dei nomi (ad es. My_Background_Project_Name.MyBackgroundTask). Basta andare al file di classe per trovare il nome e lo spazio dei nomi. – Hong

5

Ho trovato la risposta (per me). Non ho prestato attenzione alla maiuscola nella mia dichiarazione nel Package.appmanifest. Lì ho impostato il punto di ingresso come Projectname.ClassName e quando ero SetTrigger nel codice, l'ho impostato come ProjectName.ClassName.

Mio che differenza fa una lettera!

+1

LOL! Ho fatto un errore simile, tralasciando una lettera nel riferimento del punto di ingresso in Package.appmanifest. È incredibile quanto sia incredibilmente inutile questo messaggio di errore. –

+0

Sto provando sotto il codice e ottenendo lo stesso errore 'BackgroundTaskBuilder builder = new BackgroundTaskBuilder(); builder.Name = "Push Notifcation Task"; builder.TaskEntryPoint = typeof (PushNotificationBackgroundTask) .FullName; builder.SetTrigger (nuovo PushNotificationTrigger()); builder.Register(); 'Ho aggiunto' PushNotificationBackgroundTask.cs' nel progetto condiviso e nel manifest del pacchetto l'ho aggiunto in EntryPoint –

+0

Anch'io ho perso una lettera che avrebbe dovuto essere in maiuscolo. Questa risposta mi ha indirizzato nella giusta direzione. –

0

Per quanto mi riguarda, ho commesso l'errore di inserire la dichiarazione "Attività in background" (dove ho specificato il punto di ingresso) nell'appxmanifest del progetto BackgroundTask stesso ... mentre è necessario passare al manifesto appx del progetto che registra il task in background, che nel mio caso era il progetto dell'interfaccia utente.

Problemi correlati