免責事項: この例では、CodeAssassin.ConfigTransform.targets を直接変更しました。ただし、別の .targets ファイルを作成し、それを .csproj で参照する必要があります。
ConnectionString.config を (例として) 追加してから、変換を追加します。
これを .targets ファイルに追加します (構成名は正規表現と一致する必要があります -(?i)^ConnectionString\.
この場合):
<Target Name="TransformAllConnectionStringConfigTransformFiles"
Condition="'$(WebProjectOutputDir)'!=''"
BeforeTargets="Compile">
<ItemGroup>
<ConnectionStringConfigTransformFile Include="@(None);@(Content)" Condition="'$([System.Text.RegularExpressions.Regex]::IsMatch(%(Filename),"(?i)^ConnectionString\."))' == true and '%(Extension)'=='.config'" />
</ItemGroup>
<TransformXml Source="ConnectionString.config" Destination="%(ConnectionStringConfigTransformFile.Identity).transformed" Transform="@(ConnectionStringConfigTransformFile)"
Condition="'@(ConnectionStringConfigTransformFile)'!=''" />
<CreateItem Include="%(ConnectionStringConfigTransformFile.Identity).transformed"
AdditionalMetadata="CopyToOutputDirectory=Always">
<Output TaskParameter="Include" ItemName="Content"/>
</CreateItem>
</Target>
ビルドすると、.transformed ファイルが作成されます。