Package.Current.InstalledLocation.GetFolderAsync无法获取Assets下的新文件夹

时间:2013-11-19 20:59:30

标签: c# .net microsoft-metro windows-8.1 windows-applications

我正在构建一个Windows 8应用程序。这个应用程序有一个带有文件列表的项目页面,当选择其中一个文件时,应用程序应该打开该文件。

通过这些分析,我开始生成代码但是我立即遇到了打开包含Windows 8应用程序中的文件列表的目录的困难。 特别是我在资产下创建了一个名为Report的目录,其中包含文件列表(pdf,txt,任何类型的文件)。 当我需要以编程方式打开这个目录时,我无法打开它,因为我得到了这个例外:

System.IO.FileNotFoundException

但该目录存在。我试着打开它:

var folder = await StorageFolder.GetFolderFromPathAsync(Windows.ApplicationModel.Package.Current.InstalledLocation.Path + @"\Assets\AnimalImages");

正如Xyroid在这里建议的那样enter link description here,但我什么也没做。

在另一次尝试中,我尝试使用该代码访问该目录:

IReadOnlyList<StorageFolder> documentsFolder = await Windows.ApplicationData.Package.Current.InstalledLocation.GetFoldersAsync();

foreach(StorageFolder folder in documentFolder){
 IReadOnlyList<IStorageItem> subItems = await folder.GetItemsAsync();

 foreach (IStorageItem subFolder in subItems)
 {
     try
     {
        ...                
     }
     catch(FileNotFoundException e1) { }

      }
}

在第二种方法中,我尝试获取 Assets 文件夹(带有第一个循环),我得到了它,并且报告文件夹(带有第二个循环),我不是因为名为reports的目录不存在而能够获取它。

拜托,你们中的任何人都比我更了解C#和Windows 8应用程序。 我期待着您的回复。

感谢你们保留我的时间。

0 个答案:

没有答案