我正在寻找有关如何解决此问题的一些帮助/想法。我有一个使用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,因此它全部在线...
任何帮助将不胜感激!
答案 0 :(得分:0)
我对团队基础服务知之甚少,但我希望您能够访问构建定义,并且您将能够自定义它。使您的客户端特定代码从根BIN文件夹中查找DLL。
然后在构建定义中,在“GetWorkspace”活动之后。添加一个新活动(从toobox CopyDirectory或InvokeProcess)将所有构建的DLL从droplocation复制到root bin文件夹。要识别最新版本,您可以创建自定义活动(编写c#代码),该活动将查看drop文件夹并标识最大版本号。找到版本号后,将其设置为变量,然后由CopyDirectory或InvokeProcess活动使用。
CopyDirectory很简单,您只需添加源位置和目标位置,就可以了。对于InvokeProcess,您可以输入“FileName = xcopy.exe”并填写正确的参数。
有道理吗?
答案 1 :(得分:0)