私が見つけた他の同様の回答はいくつかありますが、私の質問に答えるものはありません:
afterbuild タスクを使用してプロジェクト構造全体を別のディレクトリにコピーする
msbuild を使用してすべてのファイルとフォルダーをコピーする
私がやろうとしていること:
コンパイル時にディレクトリ ツリーをプロジェクト内のいくつかの異なる場所にコピーする必要があります。現在行われている方法は次のとおりです。
<ItemGroup>
<MediaFiles Include="$(ProjectDir)media\**\*.*" />
<DeployLabel Include="$(ProjectDir)deploy\x">
<Dir>x</Dir>
</DeployLabel>
<DeployLabel Include="$(ProjectDir)deploy\y">
<Dir>y</Dir>
</DeployLabel>
<DeployLabel Include="$(ProjectDir)deploy\z">
<Dir>z</Dir>
</DeployLabel>
</ItemGroup>
<Target Name="GenericDeploy"
Inputs="@(DeployLabel)"
Outputs="%(Identity).Dummy">
<Message Text="Deploying: @(DeployLabel)" />
<Copy SourceFiles="@(MediaFiles)"
DestinationFiles="@(MediaFiles->'$(ProjectDir)deploy%(Dir)media\%(RecursiveDir)%(Filename)%(Extension)')"/>
これは実行するふりをしますが、何もコピーしません。も使用しようとしまし%(DeployLabel.Dir)
たが、エラーが発生します。
xcopy
このプログラムは、Windows インストールの既定のインベントリにないように思われるため、使用したくありません (私の PC にはありません)。また、私は告白しなければなりませんが、私は彼らが何をしているのか完全には理解していませ%
ん. ->
@ と % を最初に見たとき、それらは Make からコピーされたものだと思っていましたが、今では疑い始めています...また、どのような意味で役立つかについての洞察も役立ちます (これらの不可解な名前に関するドキュメントを見つけることは非常に困難です)。