我们的一个解决方案的postbuild任务使用xcopy将文件移动到构建工件的公共目录中.出于某种原因,在我的计算机上(以及在我测试的VM上),xcopy失败并显示"拒绝访问".以下是我尝试隔离问题所做的工作:
我尝试了正常的副本; 这很有效.
我仔细检查了所讨论的文件都不是只读的.
我检查了源文件夹和目标文件夹的权限; 我完全控制了两者.
我尝试从命令行调用xcopy,以防VS构建进程锁定文件.
我使用Unlocker和Process Explorer来确定源文件上没有锁.
我错过了什么,除了涉及计算机的偏执阴谋理论让我?这种情况发生在我的开发机器和干净的虚拟机上,但项目中的任何其他人都不会发生这种情况.
问题解决了; 这个拼图有两个部分.
/ O开关需要在Vista上提升.另外,我注意到xcopy在Vista中已被弃用,而不是robocopy.现在我和我们的构建工程师讨论这件事.
/ r =使用此选项覆盖目标中的只读文件.如果要在目标中覆盖只读文件时不使用此选项,系统将提示您"拒绝访问"消息,并且xcopy命令将停止运行.
这是我对此错误的解决方法.
资源