TFS2008如何自动构建VS2010的解决方案

公司一直用的是TFS2008做的项目管理,有项目组用VS2010的.netframeWork4做项目,测试部门在做自动构建的时候发现构建时报错,具体错误是MSB4131,在网上查了一下,在C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets的文件里搜索“Reason”字样,查到如下配置节

<Output TaskParameter="Reason" PropertyName="Reason" /> ,把这行注释掉,记得改之前备份

继续自动构建生成,错误换了一个,这次是报找不到.netFrameWork4了, 于是转到TFS服务器上,安装了VS2010,可自动构建时还是报错,于是还是网上google,发现了一个解决方案还挺好用,不得不感慨老外的思路真是很灵活,我当时是完全没思路了,也不能升级至TFS2010。

具体步骤是

1)在你的TFS服务器场里面找到运行“ Visual Studio Team Foundation Build"服务的那台机器,就是你的自动构建服务机器,如下图

2)转到C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies目录下,复制tfsbuildservice.exe和tfsbuildservice.exe.config文件,命名为tfsbuildservice2.exe和tfsbuildservice2.exe.config

3)在tfsbuildservice2.exe.config里面把port相关的节点改为9193和9194,

然后在msbuild节点的value里面填入如下内容

<add key="MSBuildPath" value="c:\windows\microsoft.net\Framework\v4.0.XXXX\" /> 具体版本根据你的实际安装版本号

 

 

4)很精彩的一步,建立另一个自动构建服务在这台机器上

     1、首先保留9193端口给TFS的web服务

  命令行下运行 wcfhttpconfig.exe reserve "服务账户名称" 9193 

  服务账户名称根据你的TFS环境下配置的管理员账户即可

      2、建立一个新的自动构建服务

          命令行下运行 sc create "Visual Studio Team Foundation Build VS2010" binpath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\tfsbuildservce2.exe" 

          将此服务的启动账户设为上一步的账户,并设置为自动启动

          如图

       3、还没完,看看你的防火墙上是不是开放了9193和9194

4)重新建立你的自动构建,在新建自动构建代理时,注意不要选择9191,而要选择你的新服务端口9193

 

     autobuild try again, OK,大功告成。

 

posted @ 2011-05-24 19:52  george.hu  阅读(634)  评论(0编辑  收藏  举报