ben şöyle iki yöntem oluşturmanız gerekir:TFS 2010: Changeset ait alınıyor listesi kimlikleri
- TFS tüm changesets alın.
- Belirtilen değişiklik kümesinden daha yeni olan tüm değişiklik kümelerini alın.
Bazı Google aramaları yaptım ve birkaç bağlantı buldum ve bazı kodları bulmayı başardım. Değişiklik kümesi öğelerinin tam listesini almak için arama yöntemini kullanamıyorum. Bunu elde etmek için birlikte bir şeyler çuvalladığınıdüşünecek ettik ama birisi bana yardımcı olabilir merak ediyorum:
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)
{
}
}
bazı Kimliği amiri eklendi yüzden bir 'ResourceAccessException' istisna atar için changeset alınıyor.
Bunu "doğru" şekilde nasıl yapacağınız hakkında herhangi bir fikir var mı?
Visual Studio 2010'u TFS 2010 ile kullanıyorum. Uygulama C# olarak .NET 4.0 uygulaması olarak yazılıyor.
TIA
Kullanıcı izni sorunu gibi görünüyor. Kullanıcı kimlik bilgilerini iletebileceğiniz GetTeamProjectCollection için aşırı yüklemeyi denediniz mi? Aksi takdirde, kodu yürüten kullanıcının kimlik bilgilerini kullanacaktır. – Strillo
@Morten'ın önerdiği yol sizin için çalışmalıdır. Başarısızlığınız silinmiş değişikliklerden kaynaklanabilir (http://msdn.microsoft.com/en-us/library/bb386005.aspx). Başarısız olanları işaretlerim ve Kaynak Kontrol Gezgini'ne bakın, onlar hakkında çok özel olan şey. – pantelif