Share via


アップグレード中に発生した問題の解決

以前のバージョンの Team Foundation Server から Visual Studio Team Foundation Server 2013 にアップグレードすると、以前のチーム プロジェクト、ビルド プロセス、ビルド サーバー、以前のバージョンの Visual Studio を使用し続けるために、特定の問題の解決が必要になる場合があります。

目的に合ったトピックをクリックしてください

  • 以前のビルド プロセスを実行する

    • 一部のアプリをビルドするために以前のビルド プロセス テンプレートを使用する

    • カスタム アクティビティを利用している以前のビルド プロセスを実行する

    • Visual Studio 2010 を使用して作成または編集したカスタム テンプレートに基づく以前のビルド プロセスを実行する

  • 旧バージョンの Visual Studio を使用する

  • 以前のビルド サーバーを使用する

  • Visual Studio オンラインでホストされるチーム プロジェクトで作業する

以前のビルド プロセスを実行する

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 ビルドを使用するなど) でアクティビティを再コンパイルし、ビルド コントローラーによって参照されるバージョン管理フォルダーにそれらのアクティビティをチェックインする必要があります。 .NET Framework の旧バージョンでコンパイルされたカスタム ビルド アクティビティを利用するビルド プロセスを実行しようとすると、ビルドの結果ログに、"Set property 'Microsoft.TeamFoundation.Build.Workflow.Activities.SyncWorkspace.RequestsFailed' threw an exception" というメッセージが表示される場合があります。

カスタム テンプレートに基づいて以前のビルド プロセスを実行する

ビルド プロセス テンプレートを編集するには 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 は、ビルド プロセス テンプレートからこれらの問題を自動的にクリーンアップするためのいくつかの情報とソース コードを発行しています。「Upgrading your build definitions from TFS2010 to TFS2012 (TFS2010 から TFS2012 へのビルド定義のアップグレード)」および「TFS 2012 – Cleaning up Workflow XAML files (AKA removing versioned namespaces) (TFS 2012 – ワークフロー 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 の既定のテンプレートの編集をそれぞれ続行できます。

以前のビルド サーバーを使用する

内部型の Visual Studio Team Foundation Server 2013 アプリケーション層サーバーに TFBuild 2010 または TFBuild Server 2012 サーバーを接続できます。 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 オンラインでホストされるチーム プロジェクトで作業する

チーム プロジェクトが Visual Studio Online でホストされている場合、処理しなければならない問題がいくつかあります。