2013-06-27 4 views
0

У меня есть тест, который я использую для создания данных примера xml. В настоящее время вывод сохраняется на моем рабочем столе. Я хочу сделать это, чтобы сохранить файл в папке в тестовом проекте, то есть /outputs. Есть ли способ, которым я могу это сделать, используя отражение или какие-то другие средства?Как сохранить вывод в папку с помощью отражения

[TestMethod] 
     public void ProduceSampleIndicativeData() 
     { 
      var process_serializer = new XmlSerializer(typeof(ProcessIndicativeDataType)); 
      var sync_serailizer = new XmlSerializer(typeof (SyncIndicativeDataType)); 

      XmlWriter process_writer = new XmlTextWriter(@"C:\Users\...\Desktop\ProcessIndicativeData.xml", new UTF8Encoding()); 
      XmlWriter synch_writer = new XmlTextWriter(@"C:\Users\...\Desktop\SyncIndicativeData.xml",new UTF8Encoding()); 

      var namespaces = new XmlSerializerNamespaces(); 
      namespaces.Add("", "http://www.hr-xml.org/3"); 
      namespaces.Add("oa", "http://www.openapplications.org/oagis/9"); 
      namespaces.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance"); 

      process_serializer.Serialize(process_writer, processIndicativeData, namespaces); 
      sync_serailizer.Serialize(synch_writer,syncIndicativeData,namespaces); 

     } 

Я попытался

string ProcessIndicativeDataLocation = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"OutputFiles\ProcessIndicativeData.xml"); 

, но это указывает на C:\Users\...\AppData\Local\Temp\...

+0

Когда вы говорите папку проекта, сделайте вы имеете в виду каталог, в котором хранится проект, или тот, в котором он работает? Я бы рекомендовал последнее. –

+0

Я имею в виду папку, в которой работает проект @TonyHopkinson –

ответ

1

Как насчет System.IO.Directory.GetCurrentDirectory() http://msdn.microsoft.com/en-us/library/system.io.directory.getcurrentdirectory.aspx

+0

То, что дает мне тот же результат, что и у меня, но я понял, что от меня требуется, поэтому это действительно соответствует требованиям. –

+0

другой будет получать путь к исполняющей сборке. –