【问题标题】:How do I read project files under the Shared project in a Windows Universal App?如何在 Windows 通用应用程序中读取共享项目下的项目文件?
【发布时间】:2014-05-03 15:51:49
【问题描述】:

即,一个位于此处的文件: https://dl.dropboxusercontent.com/u/19417676/snowbird_confusion.png(图片因缺乏声誉而直接发帖)

教程和文档鼓励使用Windows.Storage 命名空间,但是当运行我的项目并枚举Windows.Storage.ApplicationData 中的每个文件和文件夹时,发现其中不存在任何内容。此外,本地、漫游或临时文件夹中也不存在任何内容。

使用Windows.ApplicationModel.Package.Current.InstalledLocation 让我接近,但它使我进入...\Debug\AppX 目录。查看构建的项目结构时,包含我的 .rtf 文件的实际文件夹位于 ...\Debug\Tales 中,并且 WinRT 应用程序对遍历目录结构非常严格(更不用说它可能无论如何都不能移植到 Windows Phone)。

那么,我该如何访问这个文件呢?

【问题讨论】:

  • 整个 AppX 文件夹中是否还有其他副本?另外,您是否尝试过忽略“共享命名空间”而只是将其视为文件夹位于主项目中?因此,如果您的共享文件夹是/Images,只需将其称为/Images/Filename.Ext
  • 解决了(正如预期的那样,在提出问题后不久......)。计时器到期后将发布我的解决方案。本质上,我忘记将我的构建操作更改为文件本身的内容。

标签: c# windows-runtime windows-store-apps windows-8.1


【解决方案1】:

想通了。我已将 .rtf 文件正确设置为 Copy to output dir: Copy Always,但忘记将其 Build Action 更改为 Content

下面的代码现在可以正常工作了。

StorageFolder folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
folder = await folder.GetFolderAsync("MyFolder");
StorageFile file= await folder.GetFileAsync("MyFile.rtf");
string rtfString = await Windows.Storage.FileIO.ReadTextAsync(file);

【讨论】:

    猜你喜欢
    • 2017-07-19
    • 2014-02-02
    • 1970-01-01
    • 2018-06-06
    • 2016-08-29
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多