似乎当 TFS 进行构建时,当它创建构建目录并将文件从源中拉下时,它将所有源文件标记为只读。这导致我们拥有的 BizTalk 解决方案出现问题,它看起来像在构建时 biztalk 生成/编辑用于映射文件的 cs 类,这与构建期间获取和未经授权的访问异常的文件类型相同,如果它是标记为只读。但是对于我的生活,无法弄清楚如何改变 TFS 的这种行为。有任何想法吗?
4 回答
这些文件被标记为只读,因为它正在从 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-和-variables.aspx
这是正常行为。但是,如果您有一些需要可写文件的自动生成(即缩小/grunt ...)进程,请更新您的项目文件并在预构建进程中使每个文件可写。
<Target Name="BeforeBuild">
<Exec Command=“attrib -R $(SolutionRoot)\myFile.ext“ />
</Target>
我知道它已经晚了,但希望这会帮助有人来这里。
参考来自: https ://benoit808.wordpress.com/2007/10/30/changeing-a-files-attribute-from-a-msbuild-script/
不要将 .cs 文件签入到 biztalk 项目的源代码管理中。转到源代码管理中的这些文件并删除它们。
就我而言,我检查了我的本地文件,它们具有只读属性,因此我在本地删除了该属性,再次签入文件,一切正常: