AfterBuild
プロジェクト構造全体を別のフォルダーにコピーするためにターゲットを使用したいと考えています。これがプロジェクト構造です
TANKProject
|
|__TANK.CLI
|__TANK.Core
|__TANK.Web
bin
フォルダーと.sln
フォルダーを含むプロジェクト構造全体を場所にコピーしたいB:\animesh\repos
。
そのために、各ファイルのAfterBuild
ターゲットに次のスニペットを挿入します。.csproj
<ItemGroup>
<_CustomFiles Include="..\TANK.ProjectName\*.*" />
</ItemGroup>
<Copy
SourceFiles="@(_CustomFiles)"
DestinationFiles="B:\repos\TANK"
SkipUnchangedFiles="true" />
プロジェクトのビルド中に次のエラーが発生します。
"DestinationFiles" refers to 3 item(s), and "SourceFiles" refers to 1 item(s). They must have the same number of items.
ここで何が欠けていますか?
解決
AdrianMonk の回答に基づいて、次のAfterBuild
ように構成を変更しました。
<Target Name="AfterBuild">
<ItemGroup>
<_CustomFiles Include="..\**" />
</ItemGroup>
<Copy
SourceFiles="@(_CustomFiles)"
DestinationFiles="@(_CustomFiles->'B:\repos\TANK\%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="true" />
</Target>
AfterBuild
これで十分なので、このターゲットを 1 つのプロジェクトにのみ配置しました。