我正在使用MSBuild并有一个删除任务,删除目录下的所有文件。下一个任务使用RemoveDir清除任何文件夹的目录。我有一个计时问题,在RemoveDir命令运行之前,目录并不总是完全清除Delete命令中的文件。发生大约一半的时间,当脚本出错时,b / c RemoveDir无法删除其中存在文件的目录。
有人可以帮我解决这个问题吗?
答案 0 :(得分:4)
使用RemoveDir
确保在Delete
操作运行DependsOnTargets
后调用<Target Name="RemoveDirectories" DependsOnTargets="DeleteFiles">
<RemoveDir Directories="@(DirsToRemove)" />
</Target>
任务:
DeleteFiles
然而,时间可能不是真正的问题。问题可能是RemoveDir
无法删除某些锁定或只读文件,因此导致<MSBuild.ExtensionPack.FileSystem.Folder TaskAction="RemoveContent" Path="@(DirsToRemove)" Force="true" />
任务无法完成。
在这种情况下,请考虑使用MSBuild Extension Pack's Folder class强制删除所有文件。
{{1}}