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,大功告成。
作者:george.hu
出处:http://www.cnblogs.com/georgehu/
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
胡乔治。