Я использую MsBuild и задачу TransformXml для настройки некоторых файлов web.config. Это все работает совершенно нормально, но теперь я хочу расширить свойство MSBuild в преобразовании xml.
Чтобы быть более понятным, я пакетирую задачу TransformXml, используя группу элементов, чтобы выполнить несколько преобразований для нескольких веб-сайтов, которые просто отличаются по конфигурации:
<PropertyGroup>
<WebsiteTargetDirectory>$(MSBuildProjectDirectory)\BUILD\</WebsiteTargetDirectory>
</PropertyGroup>
<ItemGroup>
<WebsitesToBeCopied Include="CH;DE;EN">
<InProject>false</InProject>
</WebsitesToBeCopied>
</ItemGroup>
<target name="CreateWebConfigs">
<TransformXml
Source="$(MSBuildProjectDirectory)\Web.Template.config"
Transform="$(MSBuildProjectDirectory)\Web.%(WebsitesToBeCopied.Identity).config"
Destination="$(WebsiteTargetDirectory)\%WebsitesToBeCopied.Identity)\Web.config"
/>
</target>
Это работает совершенно нормально, но я мог бы сэкономить несколько строк и преобразований, если бы была возможность получить некоторые свойства MSBuild в преобразовании. Например, мне нужно добавить 'DE', 'EN' или 'CH' к значению атрибута, и было бы неплохо просто использовать заполнитель в шаблоне вместо того, чтобы писать преобразование для каждого web.config.
Есть ли способ достичь этого, и если да, то как это будет работать?