ビルドスクリプトにこの行があります
<Target Name="Deploy" DependsOnTargets="ServicesInstall;SitesTransfer" >
私が知りたいのは、この例では、ターゲットが実行される順序です。また、ServiceInstall に依存関係がある場合、それらは SiteTransfer の前または後に実行されますか。言い換えれば、実行は深さ優先または幅優先の方法で行われますか?
ありがとう、
サチン
ビルドスクリプトにこの行があります
<Target Name="Deploy" DependsOnTargets="ServicesInstall;SitesTransfer" >
私が知りたいのは、この例では、ターゲットが実行される順序です。また、ServiceInstall に依存関係がある場合、それらは SiteTransfer の前または後に実行されますか。言い換えれば、実行は深さ優先または幅優先の方法で行われますか?
ありがとう、
サチン
実験として、私はこれを試しました:
<Target Name="Deploy" DependsOnTargets="ServicesInstall;SitesTransfer" />
<Target Name="ServicesInstall" DependsOnTargets="ServicesInstallDependency">
<Message Text="ServicesInstall" />
</Target>
<Target Name="ServicesInstallDependency">
<Message Text="ServicesInstallDependency" />
</Target>
<Target Name="SitesTransfer">
<Message Text="SitesTransfer" />
</Target>
これが出力でした:
...
1>ServicesInstallDependency:
1> ServicesInstallDependency
1>ServicesInstall:
1> ServicesInstall
1>SitesTransfer:
1> SitesTransfer
...
ただし、正確なシーケンスは定義されていないと思われます。msdnには記載されていません。
つまり、msbuild は、指定した制約が満たされることのみを保証します。保証する必要がありSitesTransfer
、その依存関係が の前に実行される場合は、依存関係ServicesInstall
を作成する必要があります。ServicesInstall
SitesTransfer