无法以编程方式更新测试用例的区域

JL.*_*JL. 0 c# tfs tfs-sdk

我正在尝试以编程方式更新测试用例的区域。

我的代码似乎合乎逻辑,但是失败了:

Microsoft.TeamFoundation.WorkItemTracking.Client.dll中发生了类型为'Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException'的未处理异常

附加信息:TF400276:您试图为未打开或部分打开的工作项的字段设置值。您无法为未打开或未部分打开的工作项的字段设置值。

这是代码:

private static void Main(string[] args)
      {
         TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, false);
         tpp.ShowDialog();

         var tc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(
                                                                           tfsUri,
            new UICredentialsProvider());

         tc.EnsureAuthenticated();

         var wiStore = tc.GetService<TestManagementService>();

         var project = wiStore.GetTeamProject(tpp.SelectedProjects[0].Name);

         SetAreaPathByTestSuiteID(project, 501);



      }

      private static void SetAreaPathByTestSuiteID(ITestManagementTeamProject project, int testSuiteID)
      {
         var testSuite = project.TestSuites.Find(testSuiteID).TestCases;

         foreach (ITestSuiteEntry entry in testSuite)
         {
            ITestCase theCase = entry.TestCase;
            theCase.Area = "NewAreaPath"; //Error thrown here
            theCase.Save();

         }
      }
Run Code Online (Sandbox Code Playgroud)

Ole*_*sov 5

我知道这个线程很旧,但是如果有人遇到相同的问题,我还是会回答。为了能够编辑测试用例,您应该像这样调用Open():

theCase.WorkItem.Open();
Run Code Online (Sandbox Code Playgroud)

就是这样。