3

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 ターゲットが必要になります。

複数の抽出ターゲットを使用して回避する方法がわかりませんが、毎回完全に新しいターゲットを作成するのではなく、異なるパラメーターで変換ターゲットを呼び出す方法があるかどうかは誰にもわかりませんか?

4

1 に答える 1