2009-03-17 20 views
5

$(TargetDir)の複数のファイルを別のフォルダ(C:\ BinCacheなど)にコピーしようとしていますが、何らかの理由でMSBuildに不平を言うことはできません。MSBuildを使用してファイルを別のディレクトリにコピーするにはどうすればよいですか?

<Target Name="AfterBuild"> 
    <Copy SourceFiles="$(TargetDir)\*.*" 
      DestinationFolder="C:\BinCache" /> 
    </Target> 

私はここで間違っていますか?

EDIT:解決策は、CreateItemタスクを使用することです。おそらく、Visual Studio 2008ではこの制限が解除されています。スコットに感謝します!

答えて

8

、ソースファイルあなたは

<Target Name="AfterBuild"> 
    <ItemGroup> 
    <SourceFiles Include="$(TargetDir)\*.*" /> 
    </ItemGroup> 
    <Copy SourceFiles="@(SourceFiles)" DestinationFolder="C:\BinCache" /> 
</Target> 

ような何かをする必要があります項目のリスト

であることが必要ではちょうどあなたがCreateItemを使用する必要があります、その場合には、あなたが2005年にしているに気づきましたタスク

+0

Visual Studioは、「要素の下の要素が認識されません」というエラーを報告します。何か案は? – Dave

+0

これを調べると、CreateItemタスクが記述されているのを見て、もう一度見ていきます。 – Dave

0

通常のビルド前イベントまたはビルド後イベントを使用してください。 VSはこれをそのままの状態でサポートします。

xcopy "@(TargetDir)*.dll" "\yourdir" /i /f /s /v /y 
+0

ありがとう、私はMSBuildを使用してこれを行う必要があります。 – Dave

関連する問題