2017-05-22 3 views
0

Comment puis-je sérialiser des objets dans une application UWP? Ceci est mon code:UWP XmlSerialization in C#

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); 
} 

Il génère une exception:

System.UnauthorizedAccessException: 'L'accès au chemin ' C: \ Users \ annou \ onedrive \ documents \ Visual Studio 2017 \ Projets \ Hamburger6 \ Hamburger6 \ bin \ x86 \ Déboguer \ AppX \ XMLTEST.txt 'est refusé.'

Je fais de même dans une application de console et cela fonctionne. Pourquoi ne fonctionne-t-il pas dans UWP comme dans une application Console?

Répondre

3

L'écriture dans le répertoire d'installation n'est pas autorisée dans UWP. C'est pour assurer l'intégrité du dossier d'installation, afin que la plate-forme puisse assurer des mises à jour transparentes et des désinstallations propres.

Vous pouvez écrire le fichier dans AppData à la place.

+0

Comment puis-je faire cela? – Anas

+0

Voici la documentation AppData: https://docs.microsoft.com/en-us/uwp/api/windows.storage.applicationdata –

+0

Merci monsieur! :) – Anas