带有“自定义构建工具”项目的TFS构建服务器

时间:2012-05-04 11:43:22

标签: c++ tfs2010

我正在设置TFS 2010 Build服务器。 但是我目前遇到的问题是,由于“无法访问”而无法构建带有“自定义构建工具”的项目。

项目是C ++。

自定义构建工具为“Pro*C”。基本上,你有一个* .pc文件,它会生成一个* .cpp文件。 但是在构建服务器上,目录/文件是只读的。所以它会在“无法访问”时崩溃。

我试图从TFS中删除* .cpp文件。这样生成的文件就不存在了。但显然该文件夹也是只读的,不允许创建新文件。

有没有人有解决方法?

2 个答案:

答案 0 :(得分:1)

我会建议其中一个选项:

  • 如果.cpp文件是由构建过程生成的,则不要将它们放在源代码管理中
  • 更改Pro * C的设置以将其输出文件写入可写中间文件夹
  • 添加将问题文件复制到中间位置以进行处理的构建步骤
  • 添加一个构建步骤,强制对这些文件的文件访问权限以便于处理
  • 如果您只需要偶尔构建这些文件,请在开发人员计算机上使用Pro * C手动构建它们并检查结果,这样您就不必浪费时间在每个桌面或构建服务器版本上不必要地重建不变的文件

答案 1 :(得分:1)

有一个名为 MSBuild社区任务的项目,可以从http://msbuildtasks.tigris.org/下载。我将它用于自己的自动化tfs-build。 它为您的msbuild项目提供了几个扩展。其中之一就是所谓的 Attrib 任务,它使您有机会从项目中更改文件(可能还有文件夹)属性。它没有在网站的表格中列出,但在文档中有记录。作为其文档中的示例,您可以将以下行添加到您选择的目标中:

<Attrib Files="Test\version.txt" ReadOnly="true" Hidden="true" System="true"/>

我认为这也适用于项目组,如下所示

<Attrib Files="@(AllYourFiles)" ReadOnly="true" Hidden="true" System="true"/>

如果要使用它,请不要忘记在构建服务器上安装它。 ;)