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。
如何序列化 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。