-
Assurez-vous que le fichier XML fait partie de votre projet .csproj. (Si vous pouvez le voir dans l'explorateur de solutions, c'est bon).
-
Définissez la propriété "Build Action" du fichier XML sur "Embedded Resource".
-
Utilisez le code suivant pour récupérer le contenu du fichier au moment de l'exécution :
public string GetResourceTextFile(string filename)
{
string result = string.Empty;
using (Stream stream = this.GetType().Assembly.
GetManifestResourceStream("assembly.folder."+filename))
{
using (StreamReader sr = new StreamReader(stream))
{
result = sr.ReadToEnd();
}
}
return result;
}
Lorsque vous voulez lire le contenu d'un fichier, utilisez simplement
string fileContents = GetResourceTextFile("myXmlDoc.xml");
Notez que "assembly.folder" doit être remplacé par le nom du projet et le dossier contenant le fichier ressource.
Mise à jour
En fait, assembly.folder
doit être remplacé par l'espace de nom dans lequel une classe créée dans le même dossier que le fichier XML aurait par défaut. Il s'agit généralement de defaultNamespace.folder0.folder1.folder2.....
.
1 votes
Question similaire : stackoverflow.com/questions/3314140/