TFS Build 2010 +从drop中引用DLL

时间:2013-07-09 13:51:20

标签: tfsbuild

我正在寻找有关如何解决此问题的一些帮助/想法。我有一个使用TFS(服务在线版本)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文件夹添加公共代码的引用路径,但由于文件夹总是按顺序递增,所以每当客户端特定代码构建时,有人需要手动更新此引用路径。

我在考虑创建一个每个公共代码的副本,删除到一般的drop文件夹,这样路径将是静态的,但不知道如何做到这一点。或者,如果其他人有一个好主意...

请注意,这是使用Team Foundation SERVICE,因此它全部在线...

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

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

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

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

有道理吗?

答案 1 :(得分:0)