1

我正在使用 Windows 8 发布预览版和 C#(VS 2012) 开发 Metro 应用程序,我坚持异步创建文件。我正在使用以下代码在文件夹中创建文件

StorageFolder storageFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Data");            
StorageFile File= await storageFolder.CreateFileAsync("DataFile",CreationCollisionOption.ReplaceExisting); 
await Windows.Storage.FileIO.WriteTextAsync(File, result);

其中“数据”是文件夹名,“结果”是文本,“数据文件”是文件名,但我UnAuthorisedAccessException在这一行得到了

 StorageFile File= await storageFolder.CreateFileAsync("DataFile",CreationCollisionOption.ReplaceExisting); 

我知道我的文件夹“数据”是只读的,但是如何将文件夹属性更改为可写,我也尝试了storageFolder.Attributes属性,但它是只读属性。

4

1 回答 1

3

您无法在 InstalledLocation 中获得写入权限。这基本上就像写入“程序文件”(它实际上是“程序文件”内的一个文件夹),据我所知,出于安全原因,它早在 Vista 就被阻止了。

您应该尝试改为写入 ApplicationData.Current.LocalFolder。

于 2012-08-02T19:45:54.640 回答