使用 Team Foundation 源控件

Microsoft Team Foundation 源控件提供源代码版本控制功能,可满足数千开发者的使用需要。

什么是源控件?

源控件是一种能够帮助管理团队共享的源文件的系统。通过使用源控件,许多人可以处理同一组文件,同时可最大程度降低某人意外删除其他人对文件所做的更改的风险。

源控件的工作原理

源文件存储在源控件系统库(Team Foundation Server)中。团队成员将文件签出到其计算机上的本地文件夹中,对文件进行更改,然后再将这些文件签入回去。

将文件签入回库时,源控件系统会记录新版本和先前版本之间的更改。签入文件时,团队成员会向库中的文件记录添加一条注释,以便其他人可以看见他或她对文件进行的更改。这样,如果有人对文件进行了不需要的更改,您能够将文件恢复到修改前的状态。

一个文件能够同时被多个人签出。您签出文件之后,如果其他人对其进行了更改,则当您签入回去时,文件将经历合并过程,而您必须在此过程中解决任何冲突。

Expression Blend 中的 Team Foundation 支持

Team Foundation 源控件已集成到 Microsoft Expression Blend 中,以便您能够完全在 Expression Blend 的“项目”面板中执行诸如查看文件的早期版本、签入文件、添加文件和查看文件历史记录之类的操作。

您可以设置计算机以使用 Team Foundation 源控件,然后打开绑定的解决方案,从而启用 Expression Blend 中的源控件功能。(如果绑定了解决方案或项目,则它包含 Team Foundation 信息并且可以使用 Microsoft Visual Studio 和 Expression Blend 内部的源控件功能。)

有关详细信息,请参阅下列主题:

此时,可以在“项目”面板上右键单击解决方案、项目或单个文件,以执行源控件任务。

有关详细信息,请参阅下列主题:

某些较高级的源控件任务只能在 Visual Studio Team System 或 Team Explorer 中执行,而不能在 Expression Blend 中执行,例如在源控件下创建新的解决方案、绑定解决方案和文件、以独占方式显式签出文件(因此,其他团队成员不能同时签出这些文件)以及配置文件合并选项。若要执行这些任务,可以使用 Visual Studio Team System 2008 团队资源管理器 或 Visual Studio Team System 2008 的完整版本。有关详细信息,请参阅 MSDN 上的使用团队资源管理器使用 Team Foundation 版本控制如何:绑定和取消绑定项目和解决方案

Ee341403.alert_tip(ZH-CN,Expression.30).gif提示:

如果源控件下的解决方案未绑定,则仍然可以使用 Expression Blend 修改解决方案中的文件,但必须使用 Microsoft Visual Studio Team System 2008 Team Explorer 签出和签入文件。因为 Team Explorer 可以免费下载,与购买 Visual Studio Team System 副本来修改源控件下的文件相比,这样花费更少。您可以同时在 Expression Blend 和 Team Explorer 中打开相同的解决方案。当您使用 Team Explorer 修改文件的源控件状态时,请务必在 Expression Blend 中刷新文件的源控件状态。有关详细信息,请参阅刷新源控件下面的文件的状态

源控件最佳实践

了解源控件的工作原理并使用以下简单指导有助于团队成员一起卓有成效地创作解决方案:

  • 使用源控件系统。

    正确使用源控件系统可以加强合作、增强团队协作、提高效率,同时可以将丢失工作的风险降到最低。

  • 获取正确的权限。

    若要在 Expression Blend 中使用源控件功能,则对 Team Foundation 服务器至少必须具有“参考者”权限。有关详细信息,请参阅 MSDN 上的 Team Foundation Server 权限

  • 在源控件中保留源文件。

    在源控件中为您生成解决方案所需的每个源文件都保留一个副本,并确保所有解决方案和项目均已绑定。请勿在源控件中存储从源代码编译或生成的文件。

    下表列出了需要和不需要在源控件中保留的文件示例:

    向源控件添加以下类型的文件

    请勿向源控件添加以下类型的文件

    解决方案 (.sln) 和项目(.csproj 和 .vbproj)文件。

    缓存文件(.cache 和 .suo)。

    项目生成的源文件(.xaml、.cs 和 .vb)。

    由项目在 \bin 或 \obj 文件夹中生成的文件。

    媒体文件(.jpg、.wav、.wmv 等)。

    用于生成媒体文件的文件或项目(Microsoft Expression Design 或 Microsoft Expression Media 文件,但这些文件可以保留在源控件下)。

    在解决方案中创建的新项目或在项目中创建的新文件。

    不在解决方案文件夹中的项目,或不在项目文件夹中的文件。如果您创建新文件或项目,却未将其保存在正确的父文件夹中,便会出现这样的情况。

    解决方案依赖的程序集(.dll 文件)。

    生成解决方案所依赖的程序集(.dll 文件)的项目(如果项目不在解决方案文件夹中)。

  • 将源控件下所需的所有文件保留在本地 Team Foundation 工作区文件夹中。

    将计算机设置为使用 Team Foundation 源控件时,会创建一个本地文件夹,Team Foundation 服务器会将文件复制到此文件夹。这类似于在计算机上创建共享文件夹,但是只有 Team Foundation 服务器拥有其访问权限。源控件下的任何文件都必须位于该工作区中;否则 Team Foundation 服务器将无法找到它,这可能会导致“无法确定工作区”之类的错误。

  • 将属于解决方案的所有项目和文件均保留在解决方案文件夹中。

    如果您在解决方案中创建新项目,请务必将项目文件夹创建在解决方案文件夹内,默认情况下 Expression Blend 将执行此操作,除非您在“添加新项目”对话框中更改“位置”字段。

    有关详细信息,请参阅将项目添加到源控件下面的解决方案

    如果将现有项目添加到解决方案,请务必先将项目文件夹复制到解决方案文件夹中。否则,无法将新项目或其文件添加到源控件中。

    有关详细信息,请参阅向受源代码管理的项目中添加文件和文件夹

    您可以链接到解决方案文件夹之外的项目和项;但是,请确保这些项在您生成项目时可用。这可能需要使用团队资源管理器从 Team Foundation 服务器中获取文件的副本。有关详细信息,请参阅 MSDN 上的如何:获取团队项目的源代码

  • 确保您正在处理文件的最新版本。

    请遵循源控件管理员已指定的文件签出过程。例如,团队可能要求您在签出文件之前获得所有文件的最新版本,或在处理文件之前将其显式签出(而不是通过将文件保存 [Ctrl+S] 在 Expression Blend 中将其隐式签出)。

    有关详细信息,请参阅获取项目文件的最新副本

    团队中的其他人员对项目源控件库中的文件进行更改时,您的工作区中的这些文件的副本将变成“过时”状态,其中不再包括团队成员所做的所有更改。如果签入文件的过时版本并替换其他人的更新版本,则会导致额外的工作并增加了丢失文件中某些重要修改的风险。

    有关详细信息,请参阅签入文件时进行合并并解决冲突

  • 只签出所需文件。

    只签出计划修改的文件。请勿签出整个文件夹,除非您计划修改该文件夹中的每个文件。

  • 迅速签入。

    请勿使文件的签出时间超过所需时间。修改和测试完文件之后,请立即签入文件。通过此操作,可以确保您的队友能够访问文件的最新版本。

    有关详细信息,请参阅签入和签出文件

  • 写入正确的签入注释。

    当错误出现时,通过使用正确的签入注释,可帮助您找到出错的地方和快速将其修复的方法。即使没有任何地方出错,您也能够轻松地看出更改的内容,并通过查看文件的历史记录了解更改的原因。

    有关详细信息,请参阅查看或比较对文件所做的更改

另请参见

其他资源

使用解决方案、项目和文件