我考虑为我的团队切换到TFS2010。现在我们正在使用NANT脚本,我想知道如何使用TFS2010解决以下问题。
团队正在研究一个由多个解决方案(.sln)组成的框架。在每个解决方案中,我们都有一个“References”文件夹,我们放置解决方案使用的程序集。
例如:
SolutionA
SolutionB
在构建期间,我们首先构建低级解决方案,然后将生成的程序集移动到相应的“Reference”文件夹中。然后我们构建另一个解决方案,并在其他解决方案中移动生成的程序集。
你知道我们怎么能用TFS2010做到这一点吗?
谢谢!
答案 0 :(得分:1)
这应该相对容易。对于需要共享的每组程序集,请从源代码管理结构中的静态位置分支它们。现在抓取一个 TFSBuild.proj 构建文件(这些文件替换你的NAnt文件),并覆盖解决方案A的AfterCompile
目标或解决方案B的BeforeCompile
目标,然后使用tf
命令将更改合并到分支位置。合并后,使用tf
命令也可以在该目标位置进行签入。
请注意,可能有任务库为您包装tf
命令,但我手头没有参考,所以我无法告诉您使用哪一个。我个人喜欢使用tf
任务直接调用Exec
命令。
以下是tf merge
命令的语法指南,您可能只想使用T
版本参数:
tf merge [/recursive] [/force] [/candidate] [/discard] [/version:versionspec]
[/lock:(none|checkin|checkout)] [/preview] [/baseless] [/nosummary]
[/noimplicitbaseless] [/conservative] [/format:(brief|detailed)]
[/noprompt] [/login:username,[password]] source destination
Versionspec:
Date/Time D"any .Net Framework-supported format"
or any of the date formats of the local machine
Changeset number Cnnnnnn
Label Llabelname
Latest version T
Workspace Wworkspacename;workspaceowner