Asegúrese de que el archivo XML es parte de su proyecto .csproj. (Si puede verlo en el explorador de soluciones, está bien.)
Establezca la propiedad "Crear acción" para el archivo XML en "Recurso incrustado".
utilizar el siguiente código para recuperar el contenido del archivo en tiempo de ejecución:
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;
}
Cada vez que desee leer el contenido del archivo, sólo tiene que utilizar
string fileContents = GetResourceTextFile("myXmlDoc.xml");
Tenga en cuenta que "el montaje. carpeta "debe reemplazarse con el nombre del proyecto y la carpeta que contiene el archivo de recursos.
actualización
En realidad, assembly.folder
debe sustituirse por el espacio de nombres en el que una clase creada en la misma carpeta que el archivo XML tendría por defecto. Esto es típicamente defaultNamespace.folder0.folder1.folder2.....
.
pregunta similar: http: // stackoverflow.com/questions/3314140/how-to-read-embedded-resource-text-file – ClearCloud8