Adding UWP Background task causes AppManifest errors

后端 未结 5 1393
天涯浪人
天涯浪人 2020-12-10 19:09

I\'ve been trying to add an out of process background task to my project to update my App\'s live tile. The task needs to make a database call to get some data, then process

相关标签:
5条回答
  • 2020-12-10 19:15

    I hit the same issue. Unfortunately adding audio is not a solution as this will be a requirement for the windows store, not a good idea. Setting minimum target version gives you very limited Windows Store functionality and less UWP features.

    Get started by using this link and follow it very carefully:

    https://docs.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task

    To summarise:

    • Ensure you have a good copy of your project, my manifiest file became corrupted during experimentation and I needed the Package.appxmanifest backup copy.
    • Delete all references and code relating to anything to do with background tasks from your project.
    • In your solution create a new Windows Universal / Windows Runtime Component project.
    • Name the project BackgroundTasks (as an example)
    • Right click references and Manage Nuget Packages
    • Select the installed tab and Microsoft.NETCore.UniversalWindowsPlatform
    • Change the version from 6.1.4 to 6.0.8 (6.1.4 seems to be a preview version which causes extra unwanted references to be added everytime VS is loaded).
    • Change Class1.cs name to MyBackgroundTask.cs
    • Select the BackgroundTasks project Target / Min version to Fall Creators Update
    • Right click your solution / Project Dependancies. Select BackgroundTasks and check the build order is correct, mine is set for BackgroundTasks to build before the main project.
    • Refer to the sample code at UWP Samples to create the sample background task.
    • Change the Package.appxmanifest file as described on the above link.
    • Build the solution and you should be in business.

    Personally I recommend to use an out-of-process background task to eliminate any possibly that if the background task crashes it does not affect the app from running, also much more flexible.

    As a tip your BackgroundTaskBuilder will reference as strings:

     builder.Name = "MyBackgroundTask";
     builder.TaskEntryPoint = "BackgroundTasks.MyBackgroundTask";
    

    I find making background tasks in UWP quite tedious, but once done well worth the effort.

    0 讨论(0)
  • 2020-12-10 19:19

    Thank you for the MSDN-Link since I stumbled uppon exact the same problem.

    Following all the discriptions from the link helped me starting my app. I followed this stepps:

    • adding Type:audio to my appxmanifest manualy
    • Changing the BackgroundTask Project To a Windows Runtime Class Library
    • Setting the Minimum Target Version to 15063

    Especialy the last step seems mandatory, hope this does not conflict with your desired needs.

    0 讨论(0)
  • 2020-12-10 19:20

    Setting the Minimum Target Version to 15063 in my projects fixed this error for me.

    0 讨论(0)
  • 2020-12-10 19:29

    I only had to add a reference to the BackgroundTask project in the main project.

    0 讨论(0)
  • 2020-12-10 19:32

    I pulled out my hair on this one too. I finally solved it by just setting the Target and Min version respectively to Fall Creators Update (build 16299) and (most crucial) the November Update (build 10586).

    Side note 1 RedStone 4 release (version 1803; build 17133) is now avail at the time of writing my answer but I limited the Target version to Fall Creators (and even had to restore my development PC back to 1709; build 16299) due to too many issues with the development with my project.

    Side note 2 Setting the Min version further back gave me missing functionality (like a missing System.Diagnostics.Trace symbol).

    0 讨论(0)
提交回复
热议问题