我正在尝试使用在Windows Server 2008 R2计算机上运行TFS 2010的巡航控制1.8.5.0创建构建过程。我遇到的问题是当MS Build试图写入刚刚复制到项目区域的文件时,它会被拒绝访问。当我查看它们被设置为只读的文件时,ccnet正在运行的帐户是一个管理员,并且所有内容都在本地读取和写入。我们在Windows Server 2003上有类似的环境设置,一切正常。我们已经验证正在运行该进程的帐户是正确的,我已将项目文件夹的所有者设置为运行该进程的同一帐户,我们已禁用UAC。在这一点上,我不知所措。所需的任何其他信息都告诉我。
由于 罗伯特
答案 0 :(得分:1)
//当我查看文件时,它们被设置为只读,//
您可以运行attrib来删除文件上的只读标志。
快速示例:
<Exec Command=“attrib -R $(SolutionRoot)\MyCoolFile.txt“ />
还有一项自定义任务:
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Attrib" />
我没有使用它,但这足以将其捕获。
我猜它会是这样的:
<ItemGroup>
<Files Include="$(SolutionRoot)\MySubFolder\**\*.*/>
</ItemGroup>
<Attrib Files="%(Files.Identity)" ReadOnly="true"/>