将使用 AppData 文件夹共享文件的 Win32 应用迁移到 Desktop Bridge

Migrating a Win32 app that uses the AppData folder to share files to Desktop Bridge

我正在使用 Desktop Bridge 将一些 Win32 应用程序迁移到 Windows Store。我有几个应用程序一直在 %APPDATA%\Roaming\XYZCompany 中共享文件。我从 Microsoft 文档中了解到,这将不再有效,因为每个应用程序都有自己独立版本的 AppData 文件夹。

那么 "right" 在我自己的 UWP/Desktop Bridge 应用程序之间共享文件的方法是什么?

目前为止我想出的最佳解决方案是将共享文件移动到用户的文档文件夹中,但这看起来很难看。在 iOS 和 Android 中,一个开发者的应用程序可以通过巧妙的方式共享文件。是否有我尚未找到的适用于 UWP 应用程序的类似内容?

您可以创建一个 PublisherCacheFolder(参见 documentation),用于在您的 UWP 应用程序之间共享数据。

为了能够使用此 API,您需要在 package.appxmanifest 文件中声明文件夹的名称:

<Extensions>    
    <Extension Category="windows.publisherCacheFolders"> 
     <PublisherCacheFolders>
       <Folder Name="MyFolder" />
     </PublisherCacheFolders>    
    </Extension>  
</Extensions>

现在您可以访问此文件夹:

var folder = ApplicationData.Current.GetPublisherCacheFolder( "MyFolder" );

有关详细信息,请查看此 article on MSDN