Csharp/C#教程:从App WinRT获取本地文件夹分享


从App WinRT获取本地文件夹

我在尝试将文件保存到我正在使用的WinRT应用程序的文件夹中时遇到问题。 更具体:我无法设法检索该文件夹。 我需要保存一些文件,然后从同一个文件夹中检索它们,让我们说MyFolder实际上与应用程序中的Assets文件夹在同一级别。 我怎么能实现这样的呢?

到目前为止我试过了

 await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("MyFolder") 

 await ApplicationData.Current.LocalFolder.GetFolderAsync("MyFolder"); 

并且似乎都告诉我这样的文件夹不存在。 现在,我似乎无法弄明白,如果我走在正确的轨道上,或者这是我做过的愚蠢行为并导致exception。 我不能真正发布整个代码,因为它实际上是对其他调用的更大方法的调用,依此类推。

此外,我想知道(如果这些方法中的任何一个是正确的),如果应用程序获得更新,内容会受到任何影响(更好地说,丢失)。

谢谢。

Windows.ApplicationModel.Package.Current.InstalledLocation将为您提供应用程序包定义的“文件系统”,因此您将看到常用的Asset文件夹,例如,通过URI ms-appx:///Assets Anything通过InstalledLocation访问或ms-appx方案是只读的,因为它是由您从Visual Studio部署的项目定义的。

ApplicationData.Current.LocalFolder允许您访问当前应用程序/用户拥有的“文件系统”(并存储在%AppData%/Local/Packages//LocalState )。 您可以在此处创建任何结构来管理各种角色,并使用ms-appdata:///local/DirLeve1/DirLeve2/File3 URI来访问您的文件。 通过对应用程序的更新来保留该存储,但是,当然,您需要一种策略来更新与更新版本的应用程序交互所需的任何存储数据格式。

听起来你假设LocalFolder不能包含文件夹hiearachy; 它可以,所以你可以在LocalFolder引用下有一个Recents子文件夹并以这种方式处理。

我认为你需要使用ms-appx URI 。 像这样的东西:

 await StorageFolder.GetFolderFromPathAsync("ms-appx:///MyFolder"); 

此外,您需要确保文件夹实际包含在输出中。 我不确定你是如何在C#项目中做到的 – 在C ++中它是通过将文件夹/文件的“Is Content”构建属性设置为true。

上述就是C#学习教程:从App WinRT获取本地文件夹分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/984619.html

(0)
上一篇 2021年12月20日
下一篇 2021年12月20日

精彩推荐