UWP регистрация фоновой задачи для StorageLibraryContentChangedTrigger завершается с ошибкой «не найдено»

#c# #uwp #windows-runtime #background-task

#c# #uwp #windows-среда выполнения #фоновая задача

Вопрос:

В моем настольном приложении UWP я пытаюсь реализовать функцию для отслеживания изменений в библиотеке изображений с помощью фоновой задачи. Я следовал примерам использования (например, этому https://docs.microsoft.com/en-us/archive/msdn-magazine/2016/december/universal-windows-platform-file-system-monitoring-in-universal-windows-platform-apps ) и мой код выглядит так:

 StorageLibrary docLib = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Pictures);
            var requestStatus = await BackgroundExecutionManager.RequestAccessAsync();
            if (!(
                requestStatus == BackgroundAccessStatus.AllowedSubjectToSystemPolicy ||  
                requestStatus == BackgroundAccessStatus.AlwaysAllowed))
            {                
                return;
            }
            var builder = new BackgroundTaskBuilder();
            builder.Name = "Background task";            
            StorageLibraryContentChangedTrigger libraryTrigger = StorageLibraryContentChangedTrigger.Create(docLib);
            builder.SetTrigger(libraryTrigger);   
            var task = builder.Register();
            docLib.ChangeTracker.Enable();
 

Насколько я понимаю, это создает фоновую задачу «в процессе», и когда происходит изменение содержимого папки, будет вызвано приложение OnBackgroundActivated(), чтобы я мог обработать изменения там.
Однако, когда я вызываю регистрацию задачи, генерируется исключение. Исключением является:

   System.Exception
  HResult=0x80070490
  Message=Element not found. (Exception from HRESULT: 0x80070490)
 

Я не понимаю, что происходит. Я попытался заменить триггер триггером изменения часового пояса в приведенном выше коде, и он работает нормально (регистрация прошла успешно, и код, активированный onbackground, выполнен), но триггер изменения содержимого не выполняется. Я не нашел ни одного примера подобной ошибки. Я использую Windows 10, сборка 19041. Единственное, что может быть нестандартным, это то, что я переместил расположение своих библиотек документов с диска C: на диск D:, но это стандартная функция ОС Windows, поэтому я не думаю, что это должно вызвать проблемы.

Комментарии:

1. Я попробовал код с библиотекой в расположении по умолчанию. Он работает правильно. Но когда я переместил библиотеки на общий диск. Ошибка кода в первой строке. Есть ли на вашем устройстве какие-либо другие библиотеки, которые все еще находятся в расположении по умолчанию, и затем вы могли бы попробовать использовать эту библиотеку, чтобы узнать, является ли изменение местоположения причиной вашего поведения?

2. К сожалению, все мои библиотеки находятся на диске D:, поэтому я не могу протестировать это на моем компьютере для разработки.

3. Не могли бы вы, пожалуйста, изменить библиотеку обратно на диск C или найти другое устройство для тестирования?