Картинка блога

В заключительной статье о конфигурационных файлах я расскажу о трансформациях. Если мне не изменяет память, трансформации появились в приходом .NET 4.0 и Visual Studio 10. Они предназначены для изменения файлов в зависимости от выбранной конфигурации сборки и поддерживаются средой разработки автоматически. Так образом, если создать web.release.config, трансформации этого файла будут автоматически наложены на основной web.config.

Синтаксис

Трансформации используют собственное пространство имен, так что корень xml файла будет выглядеть так:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

Все теги без ns:xdt игнорируются или предназначены только для получения первого элемента в дереве (для преобразований внутри). Поддерживаемые команды можно посмотреть на MSDN. Важно помнить об атрибуте Locator, который позволяет точно определить, что нужно менять (он же может использоваться для получения определенного элемента в дереве для изменения его внутренней структуры).

Не только для web.config

Трансформации работают не только с конфигурационными файлами а с любым XML файлом (странно, если это бы это было не так). Получается, своего рода, облегченный XSLT.

Для выполнения трансформации, можно использовать MSBUILD:


<TransformXml
Source="$(PathXmlSource)"
Transform="$(PathXmlSourceTransform)"
Destination="$(PathXmlTarget)"
Condition="Exists('$(PathXmlSource)')" />

Метки:, ,

2 комментария в “Трансформации. Web.config и App.config для «C# продолжающих».”

  1. А как удалить конфигурацию?

Trackbacks/Pingbacks

  1. C# Типсы триксы MSBUILD и XBUILD