backgroundTaskHost.exe se termine avec le code 1 (0x1)

Je crée une application Windows Store dotée d’un composant Windows Runtime pour une tâche en arrière-plan.

La solution est générée sans aucun problème dans Visual Studio, mais lorsque la tâche en arrière-plan est déclenchée, elle échoue toujours avec le message “Le programme ‘[4204] backgroundTaskHost.exe’ s’est terminé avec le code 1 (0x1)”.

La référence au projet contenant la tâche d’arrière-plan se trouve dans le projet principal et je suis en train de définir le point d’entrée. Je ne sais donc pas quel est le problème. Comment puis-je obtenir plus d’informations sur les raisons du départ du programme?

J’appelais une méthode asynchrone qui renvoyait void. J’ai changé cette méthode pour retourner une tâche et utilisé attendre quand je l’ai appelée. La tâche s’exécute correctement maintenant.

Dans mon cas, il s’agissait d’un problème avec une version cible incorrecte du composant Windows Runtime. Ensuite, je l’ai changé en version du projet UWP, à savoir 10240.

entrez la description de l'image ici

Mon espace de noms était erroné sur mon point d’entrée. L’espace de noms était “App.BackgroundServices”, la tâche était “ToastBackgroundTask”. Je viens d’avoir BackgroundServices.ToastBackgroundTask alors que j’aurais dû avoir App.BackgroundServices.ToastBackgroundTask .

J’ai trouvé ce post

Il propose de vérifier les propriétés du projet et de changer (le cas échéant) le type de sortie de “Bibliothèque de classes” en “Composant Windows Runtime”.

J’ai eu (et ai) le même problème, mais je n’ai remarqué que lors de la première exécution de mon application après le démarrage de l’émulateur que mon code est exécuté, mais la tâche de fond se termine également avec 1.

Ma solution à cela est chaque fois que je lance l’application, je désenregistre et réenregistre la tâche:

 var task = BackgroundTaskRegistration.AllTasks.SingleOrDefault(i => i.Value.Name == "PushBackgroundTask"); task.Value.Unregister(true); RegisterBackgroundTask(); 

Cela permet à mon code de s’exécuter à chaque fois, mais la tâche backgroudTask se termine toujours par 1.

J’ai trouvé ce lien ” comment déboguer la tâche de fond ” mais jusqu’à présent je n’avais pas de chance de trouver le problème

Essayez de tout supprimer du dossier bin et obj du projet d’exécution Windows et de reconstruire le projet dans Visual Studio. Cela peut résoudre votre problème.