2009-10-15 45 views
0

嗨我正在嘗試使用API​​將新工作項添加到TFS存儲庫,但是當我在保存工作項之前驗證工作項時,它會返回錯誤。我以前有一個錯誤的字段定義異常,即症狀,重現和分類的步驟。 (錯誤代碼TF 26027)。代碼片段如下所示:有誰能告訴我這裏有什麼問題嗎?無法使用TFS API添加新工作項

switch (workItemType) 
     { 
      case "Bug": 
       { 
        workItem.Title = values["Title"].ToString(); 
        workItem.State = values["State"].ToString(); 
        workItem.Reason = values["Reason"].ToString(); 
        workItem.Fields["Priority"].Value = values["Priority"].ToString(); 
        workItem.Fields["Severity"].Value = values["Severity"].ToString(); 
        //workItem.Fields["Triage"].Value = values["Triage"].ToString(); 
        workItem.Fields["Assigned To"].Value = values["Assigned To"].ToString(); 
        //workItem.Fields["Symptom"].Value = values["Symptom"].ToString(); 
        //workItem.Fields["Steps to Reproduce"].Value = values["Steps to Reproduce"].ToString(); 

        // Validate the Work Item fields. 
        ArrayList result = workItem.Validate(); 
        // If any invalid fields are returned, report an error. 
        if (result.Count > 0) 
         MessageBox.Show("An Error occurred while adding the Bug to the repository."); 
        else 
         workItem.Save(); 
       } 
       break; 
+0

能否包含錯誤文本? – TJB

+0

我收到一個錯誤消息,顯示「TF26027:工作項類型定義文件中的某個字段定義字段不存在,請爲該字段添加一個定義,或刪除該引用並重試。問題是什麼?? –

回答

2

要找到可用的字段定義,你可以迭代集合(FieldDefinitions)。 Name和ReferenceName屬性是可以通過集合索引的值。

+0

無論如何,這是一個好主意,你應該總是迭代並檢查字段是否存在。因爲至少在這裏,我們有許多不同的團隊和自定義模板。你從來不知道,從項目到項目存在與否。節省了很多異常拋出。 – Alex

0

只是閱讀錯誤信息,它看起來像是在工作項中定義了一個名爲「somefield」的字段。我在考慮在其他地方掛上一些舊代碼,也許在你發佈的代碼片段之上,你正在爲workItem.Fields定義一個值[「somefield」]

0

老問題,但希望可以幫助別人。字段名稱爲「Repro Steps」

.Fields["Repro Steps"].Value 
相關問題