在构建期间标记为只读的文件

时间:2010-09-09 20:11:19

标签: tfs biztalk tfs2010 biztalk-2009

似乎当TFS进行构建时,当它创建构建目录并从源中删除文件时,它会将所有源文件标记为只读。这导致了我们拥有的BizTalk解决方案的问题,它看起来像构建时biztalk生成/编辑用于映射文件的cs类,这是在构建期间获取和未授权访问异常的相同类型的文件,如果它是标记为只读。但对于我的生活,并不能弄清楚如何改变TFS的这种行为。有什么想法吗?

4 个答案:

答案 0 :(得分:5)

文件被标记为只读,因为它正在从TFS获取最新版本。如果BizTalk在编译期间生成文件,则可以不在源代码管理中包含此文件,也可以删除该文件的只读标志。

您可以通过编辑构建过程模板并添加InvokeProcess活动来执行attrib -r命令来删除TFS 2010中的标志。

有关如何将InvokeProcess添加到构建过程模板的详细信息,请参阅http://www.ewaldhofman.nl/post/2010/04/27/Customize-Team-Build-2010-e28093-Part-2-Add-arguments-and-variables.aspx

答案 1 :(得分:1)

请勿将.cs文件签入Biztalk项目的源代码管理中。转到源代码管理中的这些文件并删除它们。

答案 2 :(得分:1)

这是正常行为。但是,如果您有一些需要可写文件的自动生成(即缩小/咕噜声......)进程,请更新项目文件并使每个文件在预构建过程中可写。

<Target Name="BeforeBuild">
<Exec Command=“attrib -R $(SolutionRoot)\myFile.ext“ />
</Target>

我知道它已经很晚了,但希望这能帮助有人来这里。

参考来自: https://benoit808.wordpress.com/2007/10/30/changing-a-files-attribute-from-a-msbuild-script/

答案 3 :(得分:0)

在我的情况下,我检查了我的本地文件并且它们具有READ-ONLY属性,因此我在本地删除了该属性,再次签入文件并且一切正常: