Я использовал ниже функции, представленные на этом pageПочему экономия XmlSerializer.Serialize файл в тестовой фазе, но не опубликованной версии
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);
Это делается для того, чтобы сохранить список телевизионных каналов в локальном файле, чтобы впоследствии его можно было повторно открыть, чтобы передать его пользователю.
Это работало отлично, когда я тестировал: я удалял любую предыдущую версию на телефоне, делал чистую сборку, а затем выполнял развертывание по телефону, а затем сразу запускал приложение на телефоне.
Затем я загрузил приложение из магазина, и сохранение больше не происходит (у меня нет ошибок, так как я обнаружил все исключения).
Могу ли я узнать, почему список больше не сохраняется с опубликованной версией? У меня отсутствуют какие-либо возможности? Или путь к файлу (на самом деле я не предоставляю его) или метод, который я использую, чтобы сохранить файл не так?
Я мог бы что-то прочитать об изолированном хранилище, должен ли я использовать это?
Мое приложение для Windows Phone 8.x и выше
Файл только для использования приложением
Есть максимум 10 пунктов, чтобы поместить в файл, так что экономия должна быть быстрой (нет тяжелого требования на асинхронном методе экономии)
Спасибо вам