일부 web.config 파일을 설정하기 위해 MsBuild 및 TransformXml 작업을 사용하고 있습니다. 그게 다 잘된 일이지만, 이제 XML 변환 내에서 MSBuild 속성을 확장하고 싶습니다. TransformXml 작업에서 MSbuild 속성을 사용하는 방법?
더 명확하게하기 위해, 나는 배치 단지 구성이 다른 여러 웹 사이트에 대한 몇 가지 변환을 수행하는 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에 대한 변환을 작성하는 대신 템플릿에서 자리 표시자를 사용하는 것이 좋습니다.
이것을 달성 할 수있는 방법이 있습니까? 그렇다면 어떻게 작동합니까?
혼자 해결 방법을 찾았습니다. TransformXml taks 직후에 MSBuildExtensionPack의 Detokenize 작업을 사용하여 두 번째 단계에서 내 변수를 파일에 넣을 수 있습니다. –
지금 대답 할 수 있어야합니다. 이틀 안에 정답으로 선택할 수 있습니다. – Will