我正在使用MsBuild和TransformXml任务来设置一些web.config文件。这完全没有问题,但现在我想在xml转换中扩展MSBuild属性。
更明确地说,我使用itemgroup批处理TransformXml任务,以对只在配置上有所不同的多个网站进行多个转换:
更明确地说,我使用itemgroup批处理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编写一个转换会更好。
是否有办法实现这一点,如果有,该如何操作?