msbuild extensionPackディレクトリのすべての内容を別のコンテンツにコピーする
-
26-10-2019 - |
質問
msbuild extensionPackを使用しています。ビルドディレクトリの内容全体をファイルシステム上の別のディレクトリにコピーしたいと思います。宛先ディレクトリの名前を変更したくはありません。内容を交換するだけです。それはMSBuild ExtensionPackに不慣れなかもしれませんが、これは簡単であるはずであり、Webですぐに利用可能なドキュメントを見つけることができなかったようです。
ビルドが成功した後、継続的な統合環境に自動的に展開されるサービスをセットアップしようとしています。
解決
私が覚えている限り、あなたは別の手順でクリアしてコピーする必要があります。それで、最初に削除/パージを行い、次にコピーします。 「上書き」する方法を見つけることができませんでした。これは実際に私たちにとってうまく機能しましたb/cの1つのビルドは、以前のビルドが含まれているファイルを削除する可能性があるため、「残る」ことを望まないでしょう。
削除するには、試してみてください(DeploymentDesintationPathがパスのあるプロパティであると仮定します):
<MSBuild.ExtensionPack.FileSystem.Folder
TaskAction="RemoveContent"
path="$(DeploymentDestinationPath)" />
そして、コピーします(ソースと宛先の両方にアイテムグループを入力する必要があることに注意してください)
<ItemGroup>
<DeploymentSourceFiles
Include="$(BuildFolder)\**\*"
/>
<DeploymentDestinationFiles
Include="@(DeploymentSourceFiles->
'$(DeploymentDestinationPath)\%(RecursiveDir)%(Filename)%(Extension)')"
/>
</ItemGroup>
<Copy SourceFiles="@(DeploymentSourceFiles)"
DestinationFiles="@(DeploymentDestinationFiles)" />
私はこれを数ヶ月で行っていないので、これらの例のいずれかが少し微調整する必要がある場合は許してください。
所属していません StackOverflow