2012-01-20 21 views
9

Estoy tratando de incrustar un archivo XML en una aplicación de consola C# haciendo clic derecho en el archivo -> Acción de compilación -> Recurso incrustado.Uso de recursos incrustados en la aplicación de consola C#

¿Cómo puedo acceder a este recurso incrustado?

XDocument XMLDoc = XDocument.Load(???); 

Editar: Hola a todos, a pesar de todos los ataques a esta pregunta recibida, aquí es una actualización.

me las arreglé para conseguir que funcione mediante el uso de

XDocument.Load(new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.FolderName.FileName.Extension"))) 

No funcionó con anterioridad debido a que el nombre de la carpeta que contiene el archivo de recursos en el proyecto no se incluyó (ninguno de los ejemplos que encontré parecía tener que)

Gracias a todos los que han intentado ayudar.

+2

¿Te refieres a algo como [esto] (http://support.microsoft.com/kb/319292) o [estos posibles duplicados] (https://www.google.com/#sclient=psy-ab&hl = en & source = hp & q = acceso + recursos + incrustados + c% 23 + sitio: stackoverflow.com & pbx = 1 & oq = acceso + recursos + incrustados + c% 23 + sitio: stackoverflow.com & aq = f & aqi = & aql = & gs_sm = e & gs_upl = 3304l10983l0l11177l29l26l2l0l0l0l384l5613l1.14.7 .4l28l0 & bav = on.2, or.r_gc.r_pw., Cf.osb & fp = 4fe41488848db57f & biw = 1366 & bih = 677)? –

+0

posible duplicado de [¿Cómo puedo descubrir la "ruta" de un recurso incrustado?] (Http://stackoverflow.com/questions/27757/how-can-i-discover-the-path-of-an-embedded- recurso) –

+1

Exactamente lo que estaba buscando. Es desafortunado que fue cerrado como demasiado localizado. –

Respuesta

10

Algo a lo largo de estas líneas

using System.IO; 
using System.Reflection; 
using System.Xml; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("ConsoleApplication1.XMLFile1.xml"); 
      StreamReader reader = new StreamReader(stream); 

      XmlDocument doc = new XmlDocument(); 
      doc.LoadXml(reader.ReadToEnd()); 
     } 
    } 
} 

Aquí es un enlace al documento de Microsoft que describe cómo hacerlo. http://support.microsoft.com/kb/319292

Cuestiones relacionadas