2011-05-27 10 views
5

Tengo en mi proyecto WPF una carpeta de "recursos" por las fuentes, imágenes y archivos XML. ¿Cómo puedo leer archivos XML desde el directorio del proyecto usando C#? Lo intenté en el ensamblado, pero no se puede encontrar el archivo. Acerca de XAML puede descargar imágenes de esa carpeta muy fácilmente.Cargar archivo XML desde el Directorio de proyectos

Cuando uso la siguiente cadena, no se puede encontrar el archivo. ¿Cómo puedo cargar mi archivo XML desde el directorio del proyecto?

string stream = "pack://application:,,,/ReferencedAssembly;component/assets/myxml.xml"; 

Gracias de antemano por cualquier ayuda.

+1

¿Por qué no pones tu archivo en el recurso del proyecto, de esta manera se embebe en el conjunto. –

Respuesta

5

Una solución para cargar el archivo, utilizando LINQ to XML, es:

XDocument myxml = XDocument.Load(@"assets\myxml.xml"); 
+11

y asegúrese de haber configurado "Copiar en el directorio de salida" en verdadero. Siempre lo echo de menos y me pregunto por qué no funciona :) –

+0

tan fácil, gracias! – Matapolo

+0

¿Dónde debe establecerse "Directorio de copia en salida"? En XDocument? – Matapolo

0

Tengo un problema muy similar, no fue capaz de cargar el archivo de la carpeta en la estructura del proyecto. Todas las configuraciones eran correctas, pero aún así estaba devolviendo el error IO.

Probablemente todas las respuestas sean correctas, pero en mi caso todavía desea cargar el archivo. Hay una necesidad de cambiar una propiedad más:

  • Acción de generación = Recurso incrustado
  • Copiar al directorio de salida = Copiar siempre

Sin establecer como "Recurso incrustado" no era accesible desde mi programa. Después de cambiar, está funcionando.

Cuestiones relacionadas