如何在TFS 2010中处理第三方库

时间:2011-12-14 16:50:08

标签: tfs tfs2010

在我的工作中,我们刚刚开始在我们的4位开发人员团队中使用TFS,同时从单个开发人员项目转换到团队项目。我们主要使用TFS中的默认设置

我是第一个推出一个简单的Silverlight MVVM项目,该项目包含一个Silverlight和一个Web项目的解决方案。

当我的队友拉下我的代码并尝试编译时,他面临着许多缺少的引用(.dll),Expression blend SDK,Ria Services工具包,Telerik控件,简单的mvvm工具包,silverlight工具包等。< / p>

我们需要做些什么,将项目添加到TFS中,当下一个开发人员将其下载时,需要编译所有项目?

1 个答案:

答案 0 :(得分:5)

没有一种非常好的方法可以自动完成所有这些操作。你通常会这样做:

    分支中的
  • 在src文件夹旁边创建一个bin文件夹。
  • bin文件夹中的
  • 为您依赖的每个组件创建文件夹
  • 在每个文件夹中放置设置或指向设置的链接
  • 在每个文件夹中放置您在解决方案中使用的二进制文件
  • 在每个文件夹中放置一个自述文件,其中包含必须完成的任何手动步骤
  • 如果需要,您可以创建一个PowerShell脚本或批处理文件,用于安装所有必需的组件。 detect whether or not an application is already installed using powershell and wmi
  • 并不难

现在,您必须在解决方案中解决一些问题:

  • 确保您的引用不指向GAC,但它们指向分支的bin文件夹中的程序集
  • 确保所有路径都与解决方案相关。任何c:...路径都不会从一个系统转移到另一个系统

我发现最简单的方法是在Visual Studio中卸载项目然后进行编辑。然后,您可以快速向每个引用添加hintpath="..\..\..\bin\component属性。 a few blogthis subject提供了不同的解决方案,这些解决方案都解决了同样的问题。

此设置允许您至少获取任何解决方案的最新版本并构建它,而无需安装任何工具。如果你的某些组件依赖于visual studio插件,那么这些工具的设计者通常无法工作,但至少你能够构建它们。

常用的替代方法是为项目创建虚拟机基础映像,并将所有必需的组件安装到其上。然后将映像复制到每个开发人员工作站并对其进行sysprep以确保它们都具有唯一的名称和标识符。当项目需要更新其依赖项时,让一个开发人员创建一个新的清理机器并将其重新分发给所有团队成员。

如果您使用的是Windows Server Virtualization或VMWare,则可以轻松创建差异磁盘并允许开发人员远程访问这些映像。

对于您的解决方案,另一种方法是use NuGetscript NuGet using a powershell script。这适用于大多数情况,但Expression Blend等产品仍需要单独安装。