Способ работы .NET с путями посреднических файлов изменился в RS3 как часть работы .NET Standard. До RS3 типы System.IO
пытались использовать API-интерфейсы WinRT под прикрытием для доступа к файлам брокера, что работало до тех пор, пока пользователь предоставил доступ к приложению.
Начиная с RS3, API-интерфейсы были изменены, чтобы просто использовать необработанные Win32 API-интерфейсы (как часть усилий по стандартизации). В настоящее время существуют Win32 API, которые могут получать доступ к брокерским расположениям, но из-за последовательности неудачных событий это не те API, которые использует .NET.
Пока ваш min-ver меньше RS3, вы получите старое поведение (но не полную поддержку .NET Standard 2.0).
На данный момент единственный способ получить доступ к брокерским адресам, если ваш min-ver - RS3 или выше, - через WinRT API или Win32 FromApp
API. И поскольку broadFilesystemAccess
в RS4, боюсь, вы не сможете использовать его с System.IO
API.
Если вам нужно использовать .NET API, вам нужно установить minver на RS2 или ниже, а затем попросить пользователя выбрать папку с FolderPicker
. Затем вы можете использовать FutureAccessList
, чтобы обеспечить постоянный доступ к местоположению.