2017-05-22 36 views
0

UWPアプリケーションでオブジェクトをシリアル化するにはどうすればよいですか?これは私のコードです:C#のUWP XmlSerialization

Car bmw = new Car() { Make = "BMW", Model = "X5" }; 
XmlSerializer serializer = new XmlSerializer(typeof(Car)); 
using (Stream stream = new FileStream(@"XMLTEST.txt", FileMode.Append, FileAccess.Write)) 
{ 
    serializer.Serialize(stream, bmw); 
} 

それが例外を生成します。

System.UnauthorizedAccessException:C 'パス へのアクセス':\ Users \ユーザーonedrive \ドキュメント\ annouビジュアルStudio \ 2017 \プロジェクト\ Hamburger6 \ Hamburger6 \ bin \ x86 \ Debug \ AppX \ XMLTEST.txt 'は が拒否されました。

コンソールアプリケーションでも同じことを行います。コンソールアプリケーションでUWPと同じように動作しないのはなぜですか?

答えて

3

UWPでは、インストールディレクトリへの書き込みが許可されていません。これは、インストールフォルダの完全性を保証するためであり、プラットフォームはシームレスな更新とクリーンアンインストールを保証できます。

代わりにファイルをAppDataに書き込むことができます。

+0

どうすればいいですか? – Anas

+0

AppDataのドキュメントは次のとおりです。https://docs.microsoft.com/en-us/uwp/api/windows.storage.applicationdata –

+0

ありがとうございます! :) – Anas