Path.GetTempPath()在Windows应用商店应用中不可用

时间:2015-03-03 05:37:18

标签: c# windows-store

我试图通过使用:

来获取临时目录
string tempFolder = System.IO.Path.GetTempPath();

但该方法不存在。我可以在intelliSense中看到所有其他方法。

为什么该方法不可用。是否有另一种方法可以在Windows应用商店应用中获取临时文件夹位置?

1 个答案:

答案 0 :(得分:2)

在ApplicatonData存储中创建临时文件。您必须使用guid或时间戳生成自己的文件名。

Windows.Storage.StorageFolder temporaryFolder = ApplicationData.Current.TemporaryFolder;
StorageFile sampleFile = await temporaryFolder.CreateFileAsync("dataFile.txt", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));

Windows商店应用程序是沙箱,因此您需要读取和写入沙盒应用程序文件夹中的文件夹。您可能无法写入传统的临时文件夹C:\Windows\TEMP,因为您可能想要,而且您运气不好。您可以访问应用程序文件夹之外的其他几个位置,但在大多数情况下,您的访问权限是有限的。

KnownFolders类是您访问以下位置的方式。

  • CameraRoll
  • DocumentsLibrary
  • 家庭组
  • MediaServerDevices
  • MusicLibrary
  • PicturesLibrary
  • 播放列表
  • RemovableDevices
  • SavedPictures
  • VideosLibrary

KnownFolders class on MSDN