私は次のように2つのメソッドを作成する必要がありガイド:TFS 2010:チェンジセットIDのリスト
- は、TFSのすべてのチェンジセットを取得します。
- 指定したチェンジセットより新しいすべてのチェンジセットを取得します。
私はいくつかのGoogleの検索を行っていくつかのリンクを見つけ、いくつかのコードを考え出すことができました。私はチェンジセット項目の完全なリストを取得するために呼び出すメソッドを動作させるように見えることはできません。私はこれを取得するために、一緒に何かをしくじってきた誰かが私を助けることができるかどうかと思いまして:
TfsTeamProjectCollection projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://mydomain.com:8080/tfs"));
VersionControlServer versionControl = projectCollection.GetService<VersionControlServer>();
int latestId = versionControl.GetLatestChangesetId();
List<Changeset> changesetList = new List<Changeset>();
for (int i = 1; i < latestId; i++)
{
try
{
Changeset cs = versionControl.GetChangeset(i);
if (cs != null)
{
changesetList.Add(cs);
}
}
catch (ResourceAccessException)
{
}
}
一部同上のは、ハンドラが追加されている理由である「ResourceAccessException」例外をスローするためにチェンジセットを取得します。
「正しい」方法でこれを行う方法に関するアイデアはありますか?
私はTFS 2010でVisual Studio 2010を使用しています。アプリケーションはC#で.Net 4.0アプリケーションとして書かれています。
TIA
ユーザー権限の問題のようです。ユーザー資格情報を渡すことができるGetTeamProjectCollectionのオーバーロードを試しましたか?それ以外の場合は、コードを実行しているユーザーの資格情報を使用します。 – Strillo
@Mortenが提案した方法は、あなたのためにうまくいくはずです。削除されたチェンジセット(http://msdn.microsoft.com/en-us/library/bb386005.aspx)が原因の可能性があります。私は失敗したものをマークし、ソースコントロールエクスプローラを見て、何が特別なのかを見てみましょう。 – pantelif