Share via


TFS と Project Server の統合に関する既知の問題と回避策

このトピックでは、Visual Studio Team Foundation Server (TFS) と Microsoft Project Server 間の統合に関する既知の問題について説明します。 この統合をサポートするには、Project Server のアプリケーション層に Team Foundation Server Extensions for Project Server をインストールしておく必要があります。 詳細については、「TFS と Project Server を統合するためのシステム要件およびセットアップ要件」を参照してください。

問題の多くは、推奨される操作を実行することで解決できます。

注意

詳細については、Microsoft Web サイトのフォーラム「Team Foundation サーバーとプロジェクト サーバーの統合」の投稿をご覧ください。

マップされた子タスクを持つサマリー タスクがプロジェクト計画で更新されない

Team Foundation Server (TFS) は、サマリー タスク (TFS 内の作業項目にマップされているサブタスクのあるタスク) の Project のフィールドを更新しないように設計されています。 同期プロセスでは、プロジェクト計画でサマリー タスクの作業が計算されるため、サマリー タスクの更新はスキップされます。 タイトルなどの非作業フィールドの変更もサマリー タスクでは更新されません。 この動作は、2 サーバー製品の統合による既知の制限事項です。

[残存作業] フィールドは空でなければなりません

TFS で状態が [完了] または [削除] に設定されているプロジェクトのタスクを更新すると、次の検証エラー メッセージを受け取る可能性があります。

フィールド '残存作業' の値は、空でなければなりません。

このメッセージは <EMPTY /> ワークフロー ステートメントがチーム プロジェクトのタスクの種類の定義から除外されていないことを示します。 Project はこのフィールドを 0 に設定しますが、TFS はフィールドが NULL 値であることを期待しています。 この問題を解決するには、「スクラム プロセス テンプレートから作成されたチーム プロジェクトにマップするときに必要な変更」を参照してください。

固有のエラー条件の解決

次の表に、2 つのサーバー製品の統合で発生する可能性のある固有のエラーに対する是正措置を示します。

エラー条件

解決策

TF80070: 操作の実行中に Team Foundation でエラーが発生しました。 作業を保存して、アプリケーションを再起動することをお勧めします。"

このエラーは、Project Server が許容するよりも大きい値を指定すると表示される場合があります。 12/31/2049 より後の日付、または 100,000,000,000,000 (10 の 14 乗) よりも大きな数値は指定できません。 Project Server では、これらの制限を DateTime フィールドおよび Integer フィールドに設定しています。

このエラー条件を解決するには、指定された制限を超えるフィールドを変更します。

TF244069: PWA インスタンスに対するレポート データベース スキーマのプロビジョニング状態を確認する処理で、エラーが発生しました。Project Server から次のエラーが返されました: TF289004: Project Server との通信中にエラーが発生しました。 Project Server 管理者に問い合わせてください。

Project Server をホストする Web アプリケーションのアプリケーション プールが使用するアカウントのアクセス許可を設定する必要があります。 このアカウントを Project Server のレポート データベースの db_owner として設定します。 詳細については、「TFS と Project Server を統合するためのアクセス許可の割り当て」を参照してください。

さらに、Project Server 2010 では、PWA のインスタンスを [クレーム ベース認証] ではなく、[クラシック モード認証] に設定する必要があります。 [クレーム ベース認証] に設定されている PWA のインスタンスは登録できません。

TF244069: PWA インスタンスに対するレポート データベース スキーマのプロビジョニング状態を確認する処理で、エラーが発生しました。Project Server から次のエラーが返されました: サーバーが要求を処理できませんでした。 -INVALID USE OF SYMBOLS HTTP ステータス 502 により、要求が失敗しました: プロキシ エラーです (利用可能なデータ レコードがありません)

autoDetect 属性の設定を、エラーが表示された Project Web Access または Project Web App (PWA) のインスタンスの web.config ファイルの既定のプロキシに変更する必要があります。 web.config ファイルの保管場所は Drive:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config です。 <system.net> セクションに次の要素タグを 追加します。

<defaultProxy>
   <proxy autoDetect="false" />
</defaultProxy>

TF244069: PWA インスタンスに対するレポート データベース スキーマのプロビジョニング状態を確認する処理で、エラーが発生しました。Project Server から次のエラーが返されました: TF289004: Project Server との通信中にエラーが発生しました。 Project Server 管理者に問い合わせてください。

アクセス許可が正しく設定されていることを確認してください。 Project Server のレポート データベースをホストする Web アプリケーションのアプリケーション プールが使用するアカウントのアクセス許可を設定する必要があります。 アカウントに Project Server レポート データベースの db_owner アクセス許可を付与します。 詳細については、「TFS と Project Server を統合するためのアクセス許可の割り当て」を参照してください。

TF244079: 共有サービスの URL を取得する処理で、エラーが発生しました。

Project Server 2010 をサポートするために必要な 2 つの更新プログラムをインストールする必要があります。更新プログラムをインストールしたら、SharePoint 構成ウィザードを実行する必要があります。 詳細については、「TFS と Project Server を統合するためのシステム要件およびセットアップ要件」を参照してください。

TF244087: Project Server をホスティングしているコンピューターに Microsoft Team Foundation Server Extensions for Project Server をインストールする必要があります。 「方法: Project Server を Team Foundation Server に追加する」を参照してください。

次のコンピューターに Team Foundation Server Extensions for Project Server をインストールする必要があります。

  • Project Server 2010 の場合: Team Foundation Server とのデータの同期に含める各 Web 層およびアプリケーション層サーバー。

詳細については、「TFS と Project Server を統合するためのシステム要件およびセットアップ要件」を参照してください。

TF208104: 他プロセス (例: Project Server) によってロックされていた可能性のある 1 つ以上の階層型リンク関係を変更しました。

個別の作業項目に対する変更内容が発行されました。 また、ロックされていたリンクに対する変更内容が自動修正されました。

このエラーは、(同期していてタスク階層がロックされている) 作業項目の階層リンク関係に対し、Excel で変更を行った場合に発生します ([ロックされたリンク] アイコン)。 このメッセージは、フィールドに行った変更が発行されたことを意味します。ただし、リンク階層へのすべての変更は、リンクがロックされているかどうかに関係なく発行されません。 ツリー階層は、元の構造に自動的に戻されます。 詳細については、「Addressing Error TF208104: Hierarchical Link Relationship Is Locked」を参照してください。

TF285019: ユーザー '{0}' に対する要求を送信できませんでした。 Project Server 管理者に連絡して、同期エンジンで使用されているサービス アカウントに Project Server アクセス許可が付与されていることを確認してください。

作業項目が作成または更新され、同期エンジンがそれを Project Server に送信しようとした際に、このエラーが "履歴" フィールドに表示されます。 このエラーが解決するには、同期エンジンを実行するサービス アカウントに追加のアクセス許可を付与する必要があります。 Project Server 2010 の場合は、SharePoint Web アプリケーション用に Project Server Service アプリケーションを起動するためのフル コントロール アクセス許可を付与する必要があります。 詳細については、「TFS と Project Server を統合するためのアクセス許可の割り当て」を参照してください。

TF287030: ID: TaskID のタスクとの同期を試みる処理で、エラーが発生しました。 エラー = "TF287035: チーム プロジェクト 'Project' に対して次の作業項目の種類が見つかりません: {0}。 この作業項目の種類は、削除または名前変更された可能性があります。 Team Foundation Server 管理者が、マップされているチーム プロジェクトに対してこの名前の作業項目の種類を復元するか、または、プロジェクト マネージャーが、新しい作業項目の種類の名前でプロジェクト計画を更新する必要があります。 Team Foundation Server の管理者に連絡して、この操作の実行に必要なアクセス許可が付与されていること、および、この作業項目の種類とチーム プロジェクトが存在していることを確認してください。

プロジェクト マネージャーが全員、Visual Studio 2013 をインストール済みであることを確認します。

Project Server が SSL (Secure Sockets Layer) 証明書を必要とするように設定されている場合、データ同期に含める PWA のインスタンスをサポートする、SharePoint Web アプリケーションの SSL が正しく設定されていることを確認します。

TF291011: サポートされていないフィールドの種類 '{0}' が Project Server フィールドに割り当てられています: '{1}'。

Team Foundation のフィールドを Project Server のフィールドにマップする場合は、各フィールドのデータ型がフィールド マップ基準に従っている必要があります。 詳細については、「Data Types and Field Mapping Criteria」を参照してください。

TF294003: 次の PWA インスタンスにアクセスできませんでした: pwaUrl。 Project Server から次のエラーが返されました: HTTP ステータス 401 により、要求が失敗しました: 許可されていません。この PWA インスタンスが存在しているかどうか、および、この PWA インスタンスにアクセスするために必要なアクセス許可がチーム プロジェクト コレクションに対するサービス アカウントに付与されているかどうかを確認してください。

Team Foundation Server のサービス アカウントに、PWA のインスタンスにアクセスするためのアクセス許可を付与する必要があります。 詳細については、「TFS と Project Server を統合するためのアクセス許可の割り当て」を参照してください。

TF294026: 次の作業項目フィールドが存在していません: Microsoft.VSTS.Scheduling.CompletedWork。 Team Foundation Server 管理者に連絡し、この作業項目フィールドを追加してください。

このエラーは次のような条件で発生することがあります。

  • Visual Studio のスクラム プロセス テンプレートから作成されたチーム プロジェクトのみを含むチーム プロジェクト コレクションに、既定のフィールド マップをアップロードしようとした場合。 このテンプレートには、Team Foundation フィールドに [実績作業] フィールドまたは [最初の見積もり] フィールドが含まれていません。 これらのフィールドをマップする必要があります。

    このエラーを解決するには、既定のフィールド マップのコンテンツをダウンロードし、サポートされていないマッピングを削除し、変更されたフィールド マップをアップロードします。 詳細については、「スクラム プロセス テンプレートから作成されたチーム プロジェクトにマップするときに必要な変更」を参照してください。

TF400651: Team Foundation Server は次のプロジェクトが SharePoint タスク リスト プロジェクトであるため、統合できません: {0}。 プロジェクトをエンタープライズ プロジェクトに変換するか、別のプロジェクトを選択します。

このメッセージは、プロジェクト計画を SharePoint タスク リスト プロジェクトとして構成したときに表示されます。 この問題を解決するには、「SharePoint タスク リストをエンタープライズ プロジェクトに変更する」を参照してください。

リソース名に特殊文字を使用できない

角かっこやかぎかっこなど、いくつかの文字を使用すると、Active Directory と Project Server 間でユーザー名を同期する際に問題が発生する可能性があります。 詳細については、「Active Directory とリソース共有元の同期 (Project Server 2013)」を参照してください。

[作業項目の種類] フィールドにすべての作業項目の種類が表示される

Text30 は、タスクを作業項目と同期する際に使用される [作業項目の種類] 列に関連付けられている Project の既定のフィールドです。 Team リボン メニューの [チーム プロジェクトの選択] を使用して、プロジェクト計画を Team Foundation Server に接続すると、[作業項目の種類] というラベルが付いた Project の追加フィールドを選択できるようになります。 Project の既定のフィールド Text24 を持つこのフィールドは、Team Foundation にバインドされたプロジェクト計画のマッピングをサポートしていますが、計画の同期はサポートしていません。 Text24 ベースのフィールドには、チーム プロジェクトの作業項目の種類の完全なリストが含まれます。 適切なフィールドを使用していることを確認するには、フィールドをポイントし、Text30 が表示されるかどうかを確認します。

管理コマンドのエラー メッセージで、必要なアクセス許可が特定されない

TfsAdmin コマンド ライン ツールの実行時に、次のエラー メッセージが表示されることがあります。

HTTP ステータス 401 により、要求が失敗しました: 許可されていません。

このメッセージでは、どのサーバーで、どのアクセス許可が必要なのかは示されません。 実行する特定のコマンドに対して必要になるアクセス許可は、ユーザー自身で確認する必要があります。 詳細については、「TFS と Project Server を統合するためのアクセス許可の割り当て」を参照してください。

Null または空のフィールド値を指定したクエリの定義

を未定義のままにした作業項目クエリを作成することで、Team Foundation の未定義の作業項目フィールドを検索できます。 対応するマップ済み Project Server フィールドの値は 0 である場合があります。 たとえば、クエリで次の句を指定すると、作業が未定義またはゼロである作業項目を除外できます。

  • And Completed Work <> (leave Value undefined)

  • Or Project Server Completed Work <> 0

  • And Remaining Work < > (leave Value undefined)

  • Or Project Server Remaining Work <> 0

詳細については、「作業項目送信の監視および拒否状態の解消」を参照してください。

マップされたエンタープライズ プロジェクト計画の名前を変更すると、マップされたチーム プロジェクトの更新が必要になる

マップされたエンタープライズ プロジェクトを異なる名前で保存してから、このプロジェクトを Project Server に公開する場合、マップされたチーム プロジェクトを更新する必要があります。 キャッシュを更新しないと、新しい名前が [Project Server] タブの "エンタープライズ プロジェクト" フィールドに表示されません。 詳細については、「Team Foundation クライアントの更新」を参照してください。

ストレス条件下で複数のエラーおよびデッドロック状態が報告される可能性がある

特定のロード条件下では、複数のエラーおよびデッドロック状態が Windows イベント ログおよび同期メッセージで報告されることがあります。 たとえば、これらのメッセージは、複数のチーム プロジェクト コレクションが PWA の 1 つのインスタンスにマップされる場合に表示されることがあります。 ユーザー操作は必要ありません。

次の種類のエラーが表示される場合があります。

Error_GeneralServerErrorSql | トランザクション (プロセス ID 156) が、ロック リソースで他のプロセスとデッドロックして、このトランザクションがそのデッドロックの対象となりました。 トランザクションを再実行してください。

Error_GeneralServerErrorSql | タイムアウトが発生しました。 処理が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。

ネットワーク負荷分散の構成でアクセス拒否の問題が発生する

Project Server の管理アクセス許可を持っている場合でも、2 つのサーバー製品の統合を構成した後で "401 アクセス拒否" のメッセージが表示されることがあります。 このメッセージは、Project Server の配置に次のコンポーネントが含まれていると表示されます。

  • 2 つ以上の Web フロントエンド

  • これらのフロント エンド間で負荷分散を行うための Windows ネットワーク負荷分散 (NLB: Network Load Balancing)

  • ドメイン ネーム サービス (DNS: Domain Name Service) に登録されている名前を持つ NLB フロントエンドとしての単一の静的 IP

この問題を回避するには、2 つのレジストリ キーのどちらかを設定する必要があります。 詳細については、Microsoft Web サイトのページ「統合認証を使用する、IIS 5.1 または以降のバージョンでホストされている Web サイトを参照するとエラー 401.1 が表示される」を参照してください。

マスター プロジェクトが開いているときにサブプロジェクトを更新すると、複数のエラーが発生する可能性がある

チーム プロジェクトと、サブプロジェクトであるエンタープライズ プロジェクト計画の間でデータを同期できます。 マップされたサブプロジェクトを含むマスター プロジェクトのデータを管理または更新することはできません。 Team Foundation Server にマップされたサブプロジェクトをマスター計画に含めることはできますが、Project Professional の Team Foundation クライアント アドインによって、マスター計画内でのマップされたサブプロジェクトの編集は禁止されます。 具体的には、アドインにより、Team Foundation との同期がマスター計画からスケジュールされているタスクの変更または削除が阻止されます。

サブプロジェクトおよびマスター プロジェクトを同時に開くと、いくつかのエラーが発生することがあります。 たとえば、次のエラー メッセージが 1 つ以上表示されたとします。

  • ビュー Team Foundation ガント (Project Server) は、このバージョンの Project には存在しません。 別のビューを選択してください。

  • 作業項目の種類を追跡するために選択した次のフィールドは、プロジェクトで既に使用されています: pjTaskText30。 続行すると、既存のデータが上書きされます。

    データが上書きまたは削除されないようにするには、[キャンセル] をクリックし、pjTaskText30 のデータをプロジェクトの未使用フィールドにコピーするか、管理者に問い合わせてローカル フィールドを変更するように依頼してください。

    続行しますか?

  • TF82041: Team Foundation では、マスター プロジェクト内からサブプロジェクトのタスクを編集する作業はサポートされていません。 サブプロジェクトを開いてタスクを編集/発行/更新してください。

  • TF80069: Team Foundation で、アプリケーションのデータを更新中にエラーが発生しました。

これらのエラーを解決するには、マップされたサブプロジェクトを編集するときは必ずマスター プロジェクトを閉じます。

参照

概念

TFS と Project Server の統合における同期プロセスの概要

データ同期からのコンポーネントの除外

配置構成の変更

Team Foundation Server と Project Server の統合の管理