<CreateItem
Include="\\BuildServer\Build_Temp\SomeRootDirectory\**\*">
<Output
TaskParameter ="Include"
ItemName ="FilesToCopy"/>
</CreateItem>
让我的系统知道我的QA服务器位于:
<CreateProperty
Value="\\QAWebServer\Websites\MySite">
<Output
TaskParameter="Value"
PropertyName ="MyDropLocation"/>
</CreateProperty>
<RemoveDir Directories="\\QAWebServer\Websites\MySite" />
<MakeDir Directories="\\QAWebServer\Websites\MySite" />
最后,我执行一个复制任务:
<Copy
SourceFiles="@(FilesToCopy)"
DestinationFiles="@(FilesToCopy->'$(MyDropLocation)\%(RecursiveDir)%(Filename)%(Extension)')"
OverwriteReadOnlyFiles="True"/>
然后,当它试图复制文件时,我得到结果错误。有趣的是,有些人成功了,有些人没有(在本例中,它看起来像是我刚才创建的目录根目录中的几乎唯一的一个):
C:\Build_Temp\QABuild\BuildType\TFSBuild.proj(690,3): error MSB3021: Unable to copy file "\\BuildServer\Build_Temp\SomeRootDirectory\Import.swf" to "\\QAWebServer\Websites\MySite\Import.swf". Access to the path '\\QAWebServer\Websites\MySite\Import.swf' is denied.
C:\Build_Temp\QABuild\BuildType\TFSBuild.proj(690,3): error MSB3021: Unable to copy file "\\BuildServer\Build_Temp\SomeRootDirectory\Incomplete.swf" to "\\QAWebServer\Websites\MySite\Incomplete.swf". Access to the path '\\QAWebServer\Websites\MySite\Incomplete.swf' is denied.
C:\Build_Temp\QABuild\BuildType\TFSBuild.proj(690,3): error MSB3021: Unable to copy file "\\BuildServer\Build_Temp\SomeRootDirectory\Index.html" to "\\QAWebServer\Websites\MySite\Index.html". Access to the path '\\QAWebServer\Websites\MySite\Index.html' is denied.
我已经验证了对文件系统的访问权限(每个人都有权创建/修改/etc),并且将文件添加到\QAWebServer\Websites\MySite的子目录结构中没有问题,只是(基本上)添加到根目录。