解決升級時可能發生的問題

當您從舊版 Team Foundation Server 升級至 Visual Studio Team Foundation Server 2013 時,可能需要解決一些問題才能繼續使用較早的 Team 專案、建置流程、組建伺服器和 Visual Studio 版本。

您想要怎麼做?

  • 執行舊版建置流程

    • 使用舊版建置流程範本,建置某些種類的應用程式

    • 執行利用自訂活動的舊版建置流程

    • 執行以您使用 Visual Studio 2010 所建立或編輯的自訂範本為基礎的舊版建置流程

  • 使用舊版 Visual Studio

  • 使用舊版組建伺服器

  • 在裝載於 Visual Studio Online 的 Team 專案中運作

執行舊版建置流程

升級至 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 編輯建置流程範本,您必須檢視程式碼,並從活動項目移除 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 升級到 TFS2012 以及 TFS 2012 – 清除 Workflow XAML 檔案 (也稱為移除已建立版本的命名空間) (英文)。

使用舊版 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 的 Team 專案中運作

如果您的 Team 專案裝載於 Visual Studio Online,則可能需要處理幾個問題。