【问题标题】:How to develop custom activities for Team Build 2010 in an efficient way?如何高效地为 Team Build 2010 开发自定义活动?
【发布时间】:2011-04-20 15:30:50
【问题描述】:
要为 Team Build 2010 创建自定义工作流活动,我必须创建一个包含自定义活动的类库,以及另一个用于自定义构建过程(工作流)的类库。
我的开发工作流程是:
- 为自定义活动编写代码
- 构建自定义活动
- 从源代码管理中删除自定义活动程序集
- 签入以有效删除源代码管理中的文件
- 在源代码管理中添加新版本的程序集
- 签入以有效地将程序集添加到源代码管理中
- 最后测试更新的构建定义!
然后,每次我想测试自定义活动的修改时,重复所有这些步骤...
有没有办法以有效的方式完成这些步骤以获得更好的开发体验?
【问题讨论】:
标签:
tfs
tfsbuild
custom-activity
【解决方案1】:
您可以编写一个批处理文件,该文件从自定义构建程序集位置执行程序集的检出,复制新构建的文件,然后将其重新检入。
以下是此类脚本文件的示例:
cd c:\YourLocalPathForYourCustomBinaries\TFS2010CustomBuildBinaries
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" checkout /lock:none /recursive *.dll
copy C:\YourBuildOutputLocation\YourBuildOutput.dll c:\YourLocalPathForYourCustomBinaries\YourBuildOutput.dll
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" checkin
请注意第一行的“更改目录”。这需要是本地计算机上的一个文件夹,您已经有一个工作文件夹映射到该文件夹,否则您需要修改脚本以包括工作区创建等。如果您已经在 TFS 中映射了此文件夹,它将自动解析.
当您想使用shell 命令在构建上下文中进行测试时,您可以通过Visual Studio's command window 运行此脚本:
shell /c c:\YourScriptLocation\YourBatchFileName.cmd
您甚至可以在构建后事件上运行您的脚本,这将确保您每次构建程序集时都会将其检入您的自定义构建程序集位置。