C# 中的 UWP XmlSerialization

UWP XmlSerialization in C#

如何序列化 UWP 应用程序中的对象?这是我的代码:

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: 'Access to the path 'C:\Users\annou\onedrive\documents\visual studio 2017\Projects\Hamburger6\Hamburger6\bin\x86\Debug\AppX\XMLTEST.txt' is denied.'

我在控制台应用程序中执行了相同的操作并且它有效。为什么它在 UWP 中的工作方式与在控制台应用程序中的工作方式不同?

UWP 中不允许写入安装目录。这是为了确保安装文件夹的完整性,以便平台可以确保无缝更新和干净卸载。

您可以改为将文件写入 AppData。