MSBuild を使用してビルド プロセスの一部として web.configs を変換しようとしていますが、これは問題ありません。しかし、同じソリューションで複数の web.config を扱うと問題が発生します。
現在使用しているコードは、web.config 固有の情報を抽出し、それを変換ターゲットに渡します。これらの操作はどちらも DependsOnTargets ターゲットにバンドルされています。
<Target Name="ExtractWebConfigParams_1">
<!-- Get webConfig1 info -->
</Target>
<Target Name="TransformWebConfig_1">
<TransformXml Source="%(webConfig1).Web.config"
Transform="%(webConfig1).Web.Stage.config"
Destination="%(webConfig1).Web.config"
StackTrace="$(StackTraceEnabled)" />
</Target>
<Target Name="ExtractWebConfigParams_2">
<!-- Get webConfig2 info -->
</Target>
<Target Name="TransformWebConfig_2">
<TransformXml Source="%(webConfig2).Web.config"
Transform="%(webConfig2).Web.Stage.config"
Destination="(webConfig2).Web.config"
StackTrace="$(StackTraceEnabled)" />
</Target>
<Target
Name="Transform_1"
DependsOnTargets="ExtractWebConfigParams_1;
TransformWebConfig_1;">
</Target>
<Target
Name="Transform_2"
DependsOnTargets="ExtractWebConfigParams_2;
TransformWebConfig_2;">
</Target>
私たちのソリューションには、最大 5 つの異なる web.config が含まれる可能性があるため、それぞれに対して抽出、変換、および DependsOnTargets ターゲットが必要になります。
複数の抽出ターゲットを使用して回避する方法がわかりませんが、毎回完全に新しいターゲットを作成するのではなく、異なるパラメーターで変換ターゲットを呼び出す方法があるかどうかは誰にもわかりませんか?