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

推荐订阅源

WordPress大学
WordPress大学
G
Google Developers Blog
M
MIT News - Artificial intelligence
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
B
Blog RSS Feed
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
B
Blog
J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - 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