为什么 XmlSerializer.Serialize 在测试阶段保存文件而不是发布版本
Why is XmlSerializer.Serialize saving the file in test phase but not for the published version
我已经使用了此 page
上的以下功能
public static void WriteToXmlFile<T>(string filePath, T objectToWrite, bool append = false) where T : new()
{
TextWriter writer = null;
try
{
var serializer = new XmlSerializer(typeof(T));
writer = new StreamWriter(filePath, append);
serializer.Serialize(writer, objectToWrite);
}
finally
{
if (writer != null)
writer.Close();
}
}
我正在调用它:
WriteToXmlFile<List<channel>>("channels.txt", channelList);
这是为了将电视频道列表保存到本地文件,以便稍后可以重新打开以向用户显示。
这在我测试时非常有效:我在 phone 上卸载任何以前的版本,进行干净的构建,然后在 phone 上进行部署,然后在 phone 上启动应用程序phone直接。
然后我从应用商店下载了应用程序,但保存不再发生(我没有错误,因为我捕获了所有异常)。
我可以知道为什么发布的版本不再保存该列表吗?
我缺少任何功能吗?
或者文件路径(实际上我提供 none)或我用来保存文件的方法不正确?
我可以阅读一些关于独立存储的内容,我应该使用它吗?
我的申请是 Windows Phone 8.x 及更高
该文件仅供应用程序使用
文件中最多可放入 10 项,因此保存应该很快(对异步保存方法要求不高)
谢谢
我改用了 IsolatedStorage(这个网站上也有示例),我的问题消失了。
我真的不知道我使用的方法将文件放在哪里,但这绝对不是正确的方法。
我已经使用了此 page
上的以下功能public static void WriteToXmlFile<T>(string filePath, T objectToWrite, bool append = false) where T : new()
{
TextWriter writer = null;
try
{
var serializer = new XmlSerializer(typeof(T));
writer = new StreamWriter(filePath, append);
serializer.Serialize(writer, objectToWrite);
}
finally
{
if (writer != null)
writer.Close();
}
}
我正在调用它:
WriteToXmlFile<List<channel>>("channels.txt", channelList);
这是为了将电视频道列表保存到本地文件,以便稍后可以重新打开以向用户显示。
这在我测试时非常有效:我在 phone 上卸载任何以前的版本,进行干净的构建,然后在 phone 上进行部署,然后在 phone 上启动应用程序phone直接。
然后我从应用商店下载了应用程序,但保存不再发生(我没有错误,因为我捕获了所有异常)。
我可以知道为什么发布的版本不再保存该列表吗? 我缺少任何功能吗? 或者文件路径(实际上我提供 none)或我用来保存文件的方法不正确?
我可以阅读一些关于独立存储的内容,我应该使用它吗?
我的申请是 Windows Phone 8.x 及更高
该文件仅供应用程序使用
文件中最多可放入 10 项,因此保存应该很快(对异步保存方法要求不高)
谢谢
我改用了 IsolatedStorage(这个网站上也有示例),我的问题消失了。
我真的不知道我使用的方法将文件放在哪里,但这绝对不是正确的方法。