2012-01-20 2 views
9

Я пытаюсь вставить XML-файл в консольное приложение C#, щелкнув правой кнопкой мыши по файлу -> Build Action -> Embedded Resource.Использование встроенных ресурсов в консольном приложении C#

Как мне получить доступ к этому встроенному ресурсу?

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

Edit: Привет всем, несмотря на все трепку этот вопрос получил, вот обновление.

мне удалось получить его работу с помощью

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

Он не работал ранее, так как имя папки, содержащей файл ресурсов в рамках проекта не была включена (ни один из примеров, которые я нашел, казалось, есть что).

Спасибо всем, кто пытался помочь.

+2

Вы имеете в виду что-то вроде [this] (http://support.microsoft.com/kb/319292) или [эти возможные дубликаты] (https://www.google.com/#sclient=psy-ab&hl = ный и источник = л & д = доступ + встроенная + ресурсы + с% 23 + сайт: stackoverflow.com & АТС = 1 & OQ = получающий доступ + встроенный + ресурсы + с% 23 + сайт: stackoverflow.com & водно = F & AQI = & аклы = & gs_sm = е & gs_upl = 3304l10983l0l11177l29l26l2l0l0l0l384l5613l1.14.7 .4l28l0 & БАВ = on.2, or.r_gc.r_pw., cf.osb & Fp = 4fe41488848db57f & BIW = 1366 & БиГ = 677)? –

+0

Возможный дубликат [Как я могу узнать «путь» встроенного ресурса?] (Http://stackoverflow.com/questions/27757/how-can-i-discover-the-path-of-an-embedded- ресурс) –

+1

Именно то, что я искал. К сожалению, он был закрыт как слишком локализованный. –

ответ

10

Что-то вдоль этих линий

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()); 
     } 
    } 
} 

Вот ссылка на документ Microsoft, который описывает, как это сделать. http://support.microsoft.com/kb/319292

Смежные вопросы