Отредактируйте файл конфигурации с помощью Ant xmltask
<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 настроек, но может быть интересно изменить только некоторые из них. Я попытался заменить, вставить спросить муравей xmltask. но не решил мою проблему.... любая помощь будет оценена
1 ответ
Вы можете сделать это, используя копирование с помощью filterset.
Поместите ваши переменные в файл свойств, например
user.app.path=C:\\Program Files (x86)\\App\\
logfile.path=C:\\logfiles\\
Создайте шаблонную версию вашего файла конфигурации, например
<configuration>
<userSettings>
<IntegrationTests.Resources.IntegrationTests>
<setting name="UserAppPath" serializeAs="String">
<value>@user.app.path@</value>
</setting>
<setting name="LogFilePath" serializeAs="String">
<value>@logfile.path@</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>