msbuild无法写入文件

时间:2014-09-12 13:22:58

标签: sql-server-2008-r2 msbuild tfs2010 cruisecontrol.net

我正在尝试使用在Windows Server 2008 R2计算机上运行TFS 2010的巡航控制1.8.5.0创建构建过程。我遇到的问题是当MS Build试图写入刚刚复制到项目区域的文件时,它会被拒绝访问。当我查看它们被设置为只读的文件时,ccnet正在运行的帐户是一个管理员,并且所有内容都在本地读取和写入。我们在Windows Server 2003上有类似的环境设置,一切正常。我们已经验证正在运行该进程的帐户是正确的,我已将项目文件夹的所有者设置为运行该进程的同一帐户,我们已禁用UAC。在这一点上,我不知所措。所需的任何其他信息都告诉我。

由于 罗伯特

1 个答案:

答案 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"/>