惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
博客园_首页
博客园 - 【当耐特】
量子位
S
SegmentFault 最新的问题
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
Y
Y Combinator Blog
博客园 - 聂微东
The Cloudflare Blog
小众软件
小众软件
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
H
Help Net Security
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享

博客园 - xwang

更好的执行 Better Communication – 你在听吗? 时间管理 or 能量管理 Stress Managment - 压力管理 Understanding WPF Template 调试Rotor: 启动过程 sscli google group launched Understanding Static Constructor, 理解静态构造函数 - xwang 自定义Rotor: 给Rotor添加一个CIL指令 PAL 阅读笔记 Metadata Tables, 元数据表 [Coding For Fun] 您有运行许可证吗? How To: TeamBuild 编译之前的版本 混淆的概念与实践 [Debugging Tool]Windbg调试托管代码 The Anatomy Of Basic Data Structure, 基本数据结构解析 Understanding GetHashCode, 理解GetHashCode 基本数据结构解析之List 试探讨泛型实现过程
How To: Team Build 自定义版本号
xwang · 2008-12-25 · via 博客园 - xwang

a) 自定义一个Task

b) 添加Task到TFSBuild.proj

1. 自定义一个Task

a. File -> New -> Project -> Class Library

clip_image002

b. 添加项目引用

项目右键 -> Add Reference -> Micosoft.Build.Engine/Framework/Tasks /Utilities 最好选择2.0版本,如果确定服务器运行的是3.5版本则两者皆可

clip_image004

c. 编写一个Task(继承自ITask 或者 Task)

Public class MyBuildNumber : Task

2. 将自定义的Task添加到TFSBuild.proj中

a) 签出对应的TFSBuild.proj

clip_image006

c) 将对应的dll签入到文件夹中

1. 手工拷贝到CIProjectTeamBuild (即:对应的BuildType文件夹), 而后手工添加,签入

2. 在命令行中切换到CIProjectTeamBuild, 运用命令签入

a. 切换到 Visual Studio 2008 Command Prompt

b. 切换到对应目录,例如 cd C:\Documents and Settings\tfsSetup\Desktop\TeamBuildTypes\CIProjectTeamBuild

c. 将对应的dll拷贝到该文件夹,如上图所显示的TfsBuildUntities.dll

d. 添加并签入该文件

a) Tf add TfsBuildUntities.dll

b) Tf checkin TfsBuildUnitities.dll

e. 添加对应的设置

   1: <UsingTask TaskName="TfsBuildUtilities.MyBuildNumber" AssemblyFile=" TFSBuildUnities.dll"/>
   2: <Target Name = "BuildNumberOverrideTarget" >
   3:     <MyBuildNumber BaseBuildName=" MyBuild_1.0" LastBuildNumber="$(LastBuildNumber)">
   4:         <Output TaskParameter="BuildNumber" PropertyName="BuildNumber"/>
   5:     </MyBuildNumber >
   6: </Target>

f. Queue New Build