Как я могу изменить несколько файлов с XMLUpdate?
Я использую XMLUpdate для обновления нескольких файлов конфигурации в подкаталогах.
Я думал, что смогу сделать что-то вроде этого:
<XmlUpdate Namespace="http://schemas.microsoft.com/.NetConfiguration/v2.0"
XmlFileName="\\$(BuildEnvironment)\websites\*.config"
Xpath="//configuration/appSettings/add[@key='Site']/@value"
Value="sitename"
/>
Где у меня следующая структура:
Websites
|
|-site1\web.config
|
|-site2\web.config
|
|-site3\web.config
Таким образом, идея заключается в том, что вместо того, чтобы писать задачу xmlupdate много раз, я мог бы использовать вышеизложенное и обновлять множество конфигурационных файлов одновременно.
Это возможно?
1 ответ
Да, я уверен, что это возможно, но я думаю, что вам нужно использовать <ItemGroup>
для этого нужно получить коллекцию файлов. Что-то вроде:
<ItemGroup>
<documentation_files Include="\\$(BuildEnvironment)\websites\**web.config" />
</ItemGroup>
<XmlUpdate
XmlFileName="@(documentation_files)"
Xpath="//configuration/appSettings/add[@key='Site']/@value"
Value="sitename" />
Я оставил Value
статический, но если вы хотите изменить его на текущую папку, вы можете использовать что-то вроде Value="%(documentation_files.RecursiveDir)"
,
Примечание. Этот код является лишь примером. Возможно, вам придется немного изменить его, чтобы получить то, что вы хотите, но я надеюсь, что это поможет вам.