0

TFS 2010 と統合されているため、チーム プロジェクト ポータルとして機能する sharepoint server 2010 サイトで実行されている sharepoint webpart があります。webpart はサイトに正常にデプロイされ、表示できます。

TfsConfigurationServer クラスを使用して、TFS に接続し、すべてのプロジェクト コレクションのリストを取得できます。さらに一歩下に行くと、各コレクション内のすべてのチーム プロジェクトのリストを取得できます。コレクションのバージョン管理サーバーに接続しようとすると、問題が発生します。そのプロジェクト コレクションの下にあるフォルダー/ファイルのリストを取得できるように、バージョン管理サーバーに接続したいと考えています。

    TfsTeamProjectCollection teamProjectCollection = configurationServer.GetTeamProjectCollection(collectionId);
try
   {
     VersionControlServer versionControl = (VersionControlServer)teamProjectCollection.GetService(typeof(VersionControlServer));
     TeamProject tp = versionControl.GetTeamProject("MyTeamProject");
     RecursionType recursion = RecursionType.Full;
     ItemSet itemSet = tp.VersionControlServer.GetItems(tp.ToString(), recursion);
     Item[] items = itemSet.Items;
     foreach (Item item in items)
     {
        l = new Label();
        l.Text = item.ChangesetId.ToString();
        this.Controls.Add(l);
     }
   }
   catch (Exception ex)
   {
     ex.ToString();
   }

上記のコードは、Try ブロックの後の最初の行である「versioncontrolserver」行で失敗します。「再認証時にユーザーを変更することは許可されていません」というエラーが表示されます。なぜユーザーを変更しようとしているのですか? ユーザー アカウント (私のもの) は、sharepoint と tfs の両方にアクセスできます。WindowsIdentity 変数を追加し、ブレークポイントを使用してデバッグで実行すると、Web パーツが自分のユーザー アカウントで実行されることを確認できます。versioncontrolserver の行で失敗するので、tfs システムに接続する際に再認証を行っているようです。アカウントを切り替えるとしたら、なぜですか? 使用しようとしているアカウントは何ですか?

4

0 に答える 0