3

私のcppプロジェクトファイルには、次のように定義されたアイテムグループがあります。

<ItemGroup>
    <None Include="dir1\file1" />
    <None Include="dir1\blah.dll" />
    <None Include="dir1\dir2\something.dll" />
    <None Include="dir1\dir2\dir3\another_file.dll" />
</ItemGroup>

上記のファイルを新しい場所にコピーする(そしてそれらのディレクトリ構造を保持する)AfterBuildターゲットがあります。例:

<Target Name="AfterBuild">
    <Copy SourceFiles="@(None)" DestinationFiles="@(None->'$(NewDirectory)%(RecursiveDir)%(Filename)%(Extension)')" ContinueOnError="false" />
</Target>

注意:$(NewDirectory)は別の場所で定義されています。

ただし、上記はファイルを$(NewDirectory)にコピーするだけで、アイテムリストのディレクトリ構造(つまり、Dir1、Dir2、およびDir3)を無視します。新しいリストを作成せずにこれを行う方法はありますか?

4

2 に答える 2

2

ディレクトリ構造を保持したい場合は、これを使用してください。

<Copy SourceFiles="@(None)" DestinationFolder="$(NewDirectory)\%(None.RelativeDir)" />
于 2012-08-02T09:45:48.670 に答える
1

私はこれを解決しました!%(Recursive)を%(RelativeDir)に置き換えます。

<Copy SourceFiles="@(None)" DestinationFiles="@(None->'$(NewDirectory)%(RelativeDir)%(Filename)%(Extension)')" ContinueOnError="false" />
于 2012-08-02T12:15:57.280 に答える