我有一个自定义构建任务,它返回 ITaskTem[] 作为构建脚本的输出。我找不到有关如何在我的 MSBuild 脚本中访问这些值的文档/示例。
我的 Execute 方法调用这个返回数组的私有方法。我希望能够遍历输出并获取 TaskItem ItemSpec 和“消息”元数据项。我怎样才能做到这一点?
[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();
}