ビルド スクリプトへの出力として ITaskTem[] を返すカスタム ビルド タスクがあります。MSBuild スクリプトからこれらの値にアクセスする方法に関するドキュメント/例が見つかりません。
私の Execute メソッドは、配列を返すこのプライベート メソッドを呼び出します。出力を反復処理して、TaskItem ItemSpec と "Message" メタデータ アイテムの両方を取得できるようにしたいと考えています。これどうやってするの?
[Output]
public ITaskItem[] FailedTestsResults { get; set; }
...
private ITaskItem[] GetFailedTests(TestResultsSummary testResultsSummary)
{
IList<TestResult> testList = testResultsSummary.Tests.ToList();
IEnumerable<TestResult> failedTests = testList.Where(x => !x.Passed);
IList<ITaskItem> failedTestsTaskItems = new List<ITaskItem>();
foreach (var failedTest in failedTests)
{
//test encountered enexpected error.
ITaskItem failTestItem = new TaskItem(failedTest.TestName);
failTestItem.SetMetadata("Message", failedTest.Message);
failedTestsTaskItems.Add(failTestItem);
}
return (ITaskItem[]) failedTestsTaskItems.ToArray();
}