1

Windows 8 リリース プレビューと C#(VS 2012) を使用してメトロ アプリを開発していますが、非同期でファイルを作成することにこだわっています。次のコードを使用して、フォルダーにファイルを作成しています

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 への書き込みアクセス権はありません。基本的には、「Program Files」(実際には「Program Files」内のフォルダーです)に書き込むようなものですが、私が覚えている限り、Vista まではセキュリティ上の理由でブロックされていました。

代わりに ApplicationData.Current.LocalFolder に書き込んでみてください。

于 2012-08-02T19:45:54.640 に答える