CopiedFiles參數正在返回所有打算複製的文件。但考慮到SkipUnchangedFiles設置爲true並且ttask本身沒有複製任何可以在命令行中看到的內容(不復制消息)的事實。那爲什麼不呢,CopiedFiles是空的?複製任務的輸出參數'CopiedFiles'正在返回指定要複製的所有文件,即使它沒有給出任何複製SkipUnchangedFiles =「true」
我需要將CopiedFiles參數填充爲僅實際複製的文件(因爲它們已更改)以便將這些文件進一步複製到其他文件夾中。這是爲了保持一個最新版本的文件夾,以及只提取實際需要傳播到UAT /生產服務器上的那些文件。
以供參考,我使用的複製任務的代碼如下:
<Copy SkipUnchangedFiles="true" SourceFiles="@(cfile)" DestinationFiles="@(cfile->'$(PublishDir)\%(Identity)')"> <Output TaskParameter="CopiedFiles" ItemName="Changed" /> </Copy> <Message Text="changed:@(Changed)" Importance="high" />
是否有在副本任務中的錯誤或這是預期的行爲。
如果這是有意設計的,那麼爲什麼MSDN與之矛盾。 [複製任務](http://msdn.microsoft.com/en-us/library/3e54c37h.aspx)它說「CopiedFiles:包含已成功複製的項目。」 – 2011-05-10 05:58:33
您說得對,值得一個腳註,它應該說「......或者如果它們不是最新的,它們將被複制,並且由於SkipUnchangedFiles設置爲true而被跳過。」無論SkipUnchangedFiles的值如何,該任務都將在依賴關係分析方面確定性地運行。 – 2011-05-10 14:05:30