1

我正在寻找有关如何解决此问题的帮助/想法。我有一个使用 TFS (Service online version) Build (VS2010) 构建的公共代码解决方案,并在修改公共代码时构建。我将有一个删除结构,例如:

Drop Folder_Version 1.0.0.0
Drop Folder_Version 1.0.0.1
Drop Folder_Version 1.0.0.2

每次更改公共代码时,最后一个数字都会不断增加。

然后,我有引用我的一些常见 DLL 的客户端特定代码。我想在 TFS Build 中自动构建此代码,但不知道如何去做。

1)我想创建一个包含公共代码项目和客户特定项目的主解决方案,但这不会在我的公共代码版本化方式上产生差异(每当我的公共代码 TFS 时,我都使用 TFS 来增加公共代码构建发生)。

2)我想从 TFS Drop 文件夹中添加公共代码的引用路径,但由于该文件夹总是按顺序递增,因此每次构建客户端特定代码时都需要手动更新此引用路径。

我正在考虑可能将每个常见代码的副本创建到一个通用的放置文件夹中,这样路径将是静态的,但不知道该怎么做。或者如果其他人有一个好主意......

请注意,这是使用 Team Foundation SERVICE,所以它都是在线的......

任何帮助,将不胜感激!

4

2 回答 2

0

我对团队基础服务知之甚少,但我希望您可以访问构建定义并且您将能够对其进行自定义。让您的客户端特定代码从根 BIN 文件夹中查找 DLL。

然后在构建定义中,在“GetWorkspace”活动之后。添加一个新活动(从工具箱 CopyDirectory 或 InvokeProcess)将所有构建的 DLL 从您的放置位置复制到根 bin 文件夹。要识别最新版本,您可以创建一个自定义活动(编写 c# 代码),它将查看放置文件夹并识别最大版本号。找到版本号后,将其设置为一个变量,然后 CopyDirectory 或 InvokeProcess 活动将使用该变量。

CopyDirectory 很简单,您只需添加源和目标位置就可以了。对于 InvokeProcess,您可以输入“FileName = xcopy.exe”并填写正确的参数。

说得通?

于 2013-07-10T17:56:18.150 回答
0

查看以下链接:http ://social.msdn.microsoft.com/Forums/vstudio/en-US/a00f0808-d2cb-465c-a908-e4673d6a2d55/copying-files-to-a-static-drop-directory- tfs 托管构建服务

这是我最终实施的解决方案。

于 2013-08-06T14:36:30.667 回答