J'utilise un fichier XML ajouté dans mon projet avec les propriétés suivantes:WPF C fichier # XML ajouté en tant que ressource
Build Action : Resource
Copy to output directory : Copy Always
Ensuite, lorsque l'exécutable est en cours d'exécution, j'ai besoin les utilisateurs de pouvoir modifier le code XML (ajouter, supprimer et modifier des nœuds). C'est possible ? Ou dois-je changer l'action de construction en contenu?
Merci
edit: je l'ai supprimé et ajouté à nouveau en tant que contenu. Mais maintenant j'ai un autre problème: quand je l'ajoute au projet, il le cherche dans le répertoire racine de l'application (WpfApplication1 \ WpfApplication1 \ myfile.xml). Mais quand je lance l'application, la fonction chargée d'ajouter un nœud fonctionne correctement, mais elle enregistre le fichier dans le répertoire WpfApplication1 \ WpfApplication1 \ bin \ Debug \! D'où le "vrai" myfile.xml n'est pas mis à jour.
J'utilise:
XMLHosts.Load("myfile.xml");
XMLHosts.Save("myfile.xml");
et la source de données est déclarée comme:
<XmlDataProvider x:Key="MyfileData" Source="myfile.xml" XPath="Books/Book" />
Cela semble fonctionner pour moi. Essayez de supprimer les répertoires de sortie existants et faites une reconstruction. Voir aussi http://stackoverflow.com/questions/495505/copy-always-to-output-directory-does-not-work –