2014-11-26 3 views
1
<configuration> 
    <userSettings> 
     <IntegrationTests.Resources.IntegrationTests> 
      <setting name="UserAppPath" serializeAs="String"> 
       <value>C:\Program Files (x86)\App\</value> 
      </setting> 
      <setting name="LogFilePath" serializeAs="String"> 
       <value>C:\logfiles\</value> 
      </setting> 
     </IntegrationTests.Resources.IntegrationTests> 
    </userSettings> 
</configuration> 

У меня есть вышеуказанный файл XML, я хочу, чтобы моя работа сборки изменить эти значения пути динамически во время прогона задания ... так что если установка имя является UserAppPath затем обновить значение тега из то же самое с правильным путем, если настройка - LogFilePath, а затем отредактируйте путь к файлу журнала на основе подчиненного, который я выбрал ... как мудрый, у меня может быть n количество настроек, но может быть интересно изменить лишь некоторые из них. Я попробовал заменить, вставьте запрос ant xmltask. но не решила мою проблему .... любая помощь будет оцененаEdit Файл конфигурации с помощью Ant xmltask

+0

Что делает ваш скрипт, использующий xmltask выглядеть? –

ответ

3

Вы можете сделать это, используя copy с filterset.

Поместите свои переменные в файл свойств, например.

user.app.path=C:\\Program Files (x86)\\App\\ 
logfile.path=C:\\logfiles\\ 

Создайте шаблонную версию конфигурационного файла, например.

<configuration> 
    <userSettings> 
     <IntegrationTests.Resources.IntegrationTests> 
      <setting name="UserAppPath" serializeAs="String"> 
       <value>@[email protected]</value> 
      </setting> 
      <setting name="LogFilePath" serializeAs="String"> 
       <value>@[email protected]</value> 
      </setting> 
     </IntegrationTests.Resources.IntegrationTests> 
    </userSettings> 
</configuration> 

В файле сборки, создать версию файла конфигурации, заменяя заполнители в версии шаблона с filterset:

<project name="test" default="test"> 
    <target name="test"> 
    <copy file="config_template.xml" tofile="config.xml"> 
     <filterset begintoken="@" endtoken="@"> 
     <filtersfile file="config.properties" /> 
     </filterset> 
    </copy> 
    </target> 
</project> 
+0

Я ценю ваш чистый и ясный ответ. –

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