如何避免TFS Build使文件夹只读

时间:2017-04-10 07:23:57

标签: visual-studio tfs tfsbuild robocopy

我们使用了以下用于网站的TFS部署策略 - :

1) Windows机器文件复制

来源:TFS的文件夹    目标:Application Server

现在,在本网站内的文件夹中,首先删除文件,然后添加/重新创建文件。

但是在通过TFS部署后,文件将变为只读。因此,文件无法删除,并且会在网站上引发错误。

如何在TFS部署enter image description here enter image description here

中处理此案例

3 个答案:

答案 0 :(得分:1)

我假设你构建了一个服务器工作区,或者你是直接将文件从TFVC拉到服务器工作区(see local vs. server workspaces)。在服务器工作区中,在工作空间中读取未签出的文件,以防止您在未事先告知TFS您将更改它们(签出)的情况​​下在本地进行更改。由于您的构建通常不会在工作区中执行任何源代码控制操作,因此当您复制它们或将它们作为工件发布时,某些或所有文件将保持只读状态。

如果将项目从TFS复制到另一个位置,则还会复制这些只读标志。但是,通过使用attrib -r在从构建中发布工件之前或在将文件复制到目标计算机之前(或之后)清除只读标志,可以很容易地解决这个问题。有关递归等更多选项,请参阅attrib文档。

答案 1 :(得分:0)

在IIS 6.0中将文件夹路径设置为网站的物理路径时,您将看到该文件夹​​自动变为只读。

您可以在folder属性中删除此文件夹的只读设置。如果要删除文件夹的只读设置。在Windows Machine File Copy step中,您需要提供一个帐户,该帐户是目标计算机的管理员。 enter image description here

答案 2 :(得分:0)

enter image description here

通过添加Windows robocopy命令的一个属性解决了问题。

/ A-:R :从复制的文件中删除只读属性。

" / A" :attribute

" - " :删除

" R" :只读属性