看来,当TFS进行构建时,当它创建构建目录并将文件从源中拉下时,它将所有源文件仅标记为仅读取。这会引起我们拥有的BizTalk解决方案的问题,看起来在构建时间,BizTalk生成/编辑用于映射文件的CS类,这是在构建过程中获得和未经授权的访问例外的文件类型标记为可读。但是对于我的生活,无法弄清楚如何改变TF的这种行为。有任何想法吗?

有帮助吗?

解决方案

这些文件被标记为ReadOnly,因为它正在从TFS中进行最新版本。如果BizTalk在编译过程中生成文件,则可以在源控件中包含此文件,也可以删除该文件的读取标志。

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

有关更多信息,如何将InvokeProcess添加到构建过程模板中 http://www.ewaldhofman.nl/post/2010/04/27/customize-team-build-2010-e28093-part-part-part-part-2-add-arguments-and-variables.aspx

其他提示

请勿将.CS文件入住BizTalk项目的源控件。转到源控件中的这些文件并删除它们。

这是正常行为。但是,如果您有一些自动生成的(即Minification/Grunt ...)流程需要可写的文件,请更新项目文件,并在预构建过程中制作每个文件。

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

我知道它很晚,但希望这会帮助有人来这里。

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

就我而言,我检查了本地文件,并且它们具有只读属性,因此我在本地删除了属性,再次检查了文件,所有这些都可以工作:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top