解决在升级时会出现的问题

在从早期版本的 Team Foundation Server 升级到 Visual Studio Team Foundation Server 2013 时,你可能需要解决某些问题才能继续使用以前的团队项目、生成过程、生成服务器和各个版本的 Visual Studio。

你希望做什么?

  • 运行以前的生成过程

    • 使用以前的生成过程模板来生成某些类型的应用程序

    • 运行利用自定义活动的以前的生成过程

    • 运行基于用 Visual Studio 2010 创建或编辑的自定义模板的早期生成过程

  • 使用 Visual Studio 的早期版本

  • 使用以前的生成服务器

  • 处理承载于 Visual Studio Online 上的团队项目

运行以前的生成过程

升级到 Visual Studio Team Foundation Server 2013 后,可以继续使用以前的生成过程。

提示

你可以继续使用基于以前的生成过程模板的生成定义(甚至创建新的生成定义),但在许多情况下,你将使用新的默认模板获得更好的结果。

在少数情况下,你必须执行某些操作来启用以前的生成过程以确保在 Visual Studio Team Foundation Server 2013 上正常运行。

使用以前的生成过程模板来生成某些类型的 Visual Studio Team Foundation Server 2013 应用程序

如果你的生成过程模板来自早期版本的 TFS,则可能需要编辑你的模板并修改 MSBuild 活动属性。 如果生成服务器正在运行:

  • **Visual Studio Team Foundation Server 2013:将 MSBuild 活动“ToolVersion”**属性设置为 12.0

  • **Visual Studio Team Foundation Server 2012:将 MSBuild“ToolPath”**属性设置为 MSBuild 12 的路径。 在许多情况下,此路径是 C:\Program Files (x86)\MSBuild\12.0\Bin\(32 位)或 C:\Program Files (x86)\MSBuild\12.0\Bin\amd64(64 位)。 你还必须在生成代理上安装 Visual Studio 2013。

运行利用自定义活动的以前的生成过程

必须先使用 .NET Framework 4.5.1(例如,使用 Visual Studio 2013 或 Visual Studio Team Foundation Server 2013 Team Foundation Build)重新编译活动,再将其签入你的生成控制器引用的版本控制文件夹,然后你才能运行利用自定义生成过程活动的生成过程。 如果你尝试运行利用自定义生成活动(通过早期版本的 .NET Framework 编译)的生成过程,则生成结果日志中可能会显示以下消息:“设置属性‘Microsoft.TeamFoundation.Build.Workflow.Activities.SyncWorkspace.RequestsFailed’引发了异常”。

运行基于自定义模板的早期生成过程

只能使用 Visual Studio 2013 编辑你的生成过程模板。 如果已使用 Visual Studio 2010 编辑生成过程模板,则你必须查看代码并从 Activity 元素中移除所有对 Microsoft.TeamFoundation 命名空间的强名称引用。

例如,必须移除如下所示的行:

xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

并保留如下所示的行:

xmlns:mtvc1="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client"

否则,你可能会收到一条类似以下内容的消息:Error 7 Compiler error(s) encountered processing expression "Workspace". Value of type 'Microsoft.TeamFoundation.VersionControl.Client.Workspace' cannot be converted to 'Microsoft.TeamFoundation.VersionControl.Client.Workspace'. Type mismatch could be due to…

提示

Jason Pricket 发布了一些信息和源代码以自动从生成过程模板中消除这些问题。请参见将你的生成定义从 TFS2010 升级到 TFS2012TFS 2012 - 清除工作流 XAML 文件(移除带有版本控制的命名空间的 AKA)

使用 Visual Studio 的早期版本

如果使用的是 Visual Studio 2010 或 Visual Studio 2012(RTM 或已使用最新更新修补),则你

  • 可以对 Visual Studio Team Foundation Server 2013 默认模板生成定义进行排队

  • 不能修改参数(在排队或编辑时)或编辑 Visual Studio Team Foundation Server 2013 默认模板。

  • 可以继续修改参数(在排队或编辑时)并分别编辑 Team Foundation Server 2010 和 Team Foundation Server 2012 默认模板。

使用以前的生成服务器

可以将 TFBuild 2010 或 TFBuild 2012 服务器连接到本地 Visual Studio Team Foundation Server 2013 应用层服务器。 无法在安装 TFBuild 2012 或 TFBuild 2010 的同一台计算机上运行 Visual Studio Team Foundation Server 2013 TFBuild。 请参阅部署和配置生成服务器

Visual Studio Team Foundation Server 2013 默认过程生成只能在 Visual Studio Team Foundation Server 2013 生成服务器上运行。 它们无法在以前的生成服务器上运行。

在你的生成代理上,必须安装你的团队在其开发计算机上使用的 Visual Studio 的版本。

处理承载于 Visual Studio Online 上的团队项目

如果你的团队项目托管在 Visual Studio Online 上,则你可能需要处理一些问题。