sto cercando di salvare una voce TFS lavoro a livello di codice, ma sempre ottenere l'eccezione:TFS 2010 elemento di lavoro non è pronto a salvare, ma non ci sono elementi di validazione
TF237124: Work Item is not ready to save
Ora, capisco che cosa questo sta dicendo me - che l'elemento di lavoro manca un campo obbligatorio o simili - e il mio codice sta anticipando questo chiamando:
ArrayList ValidationResult = wi.Validate();
prima del salvataggio. Tuttavia il mio ArrayList non contiene elementi che seguono questa chiamata.
Ho provato ad accedere all'interfaccia Web TFS utilizzando le stesse credenziali e creando un elemento di lavoro in questo modo che funziona correttamente.
Come posso scoprire perché il mio elemento di lavoro non salverà? Qui è il mio codice:
// get a reference to the team project collection (authenticate as generic service account)
using (var tfs = new TfsTeamProjectCollection(tfsuri, new System.Net.NetworkCredential("My_User", "password")))
{
tfs.EnsureAuthenticated();
var workItemStore = GetWorkItemStore(tfs);
// create a new work item
WorkItem wi = new WorkItem(GetWorkItemType(type, workItemStore));
{
//Values are supplied as a KVP - Field Name/Value
foreach (KeyValuePair<string,string> kvp in values)
{
if (wi.Fields.Contains(kvp.Key))
{
wi.Fields[kvp.Key].Value = kvp.Value;
}
}
ValidationResult = wi.Validate();
}
if (ValidationResult.Count == 0)
{
wi.State = wi.GetNextState("Microsoft.VSTS.Actions.Checkin");
wi.Save();
return wi.Id;
}
else
{
return 0;
}
}
}
Quale versione di TFS? –
2010, ho aggiornato il titolo. – Simon