Это действительно странно, но похоже, что вы не можете go выше показанного здесь
Есть обходной путь (но это немного некрасиво). Вы можете загрузить страницу журнала и подсчитать количество предупреждений при разборе страницы.
static void Main(string[] args)
{
var credential = new VssBasicCredential(string.Empty, "PAT");
var connection = new VssConnection(new Uri("https://dev.azure.com/your-organization/"), credential);
var buildClient = connection.GetClient<BuildHttpClient>();
var timeline = buildClient.GetBuildTimelineAsync("yoyr project", 377).Result;
var vsTask = timeline.Records.FirstOrDefault(p => p?.Task?.Name == "VSBuild");
// always 10 utmost : warning and issues !!
var warning = vsTask.WarningCount;
var issues = vsTask.Issues;
Console.WriteLine(warning);
HttpClient client = new HttpClient();
var response = client.GetAsync(vsTask.Log.Url);
var pageContents = response.Result.Content.ReadAsStringAsync().Result;
var realNumberOfWarnings = AllIndexesOf(pageContents, "##[warning]");
Console.WriteLine(realNumberOfWarnings.Count);
Console.ReadLine();
}
public static List<int> AllIndexesOf(string str, string value)
{
if (String.IsNullOrEmpty(value))
throw new ArgumentException("the string to find may not be empty", "value");
List<int> indexes = new List<int>();
for (int index = 0; ; index += value.Length)
{
index = str.IndexOf(value, index);
if (index == -1)
return indexes;
indexes.Add(index);
}
}
Надеюсь, это поможет.
Пожалуйста, проверьте, что написал Тинлуо Хуан [MSFT] здесь :
Мы должны только считать и хранить 10 ошибок / предупреждений (я думаю, что у нас есть какая-то ошибка подсчета, поэтому мы считаем до 11), эти проблемы сохраняются в нашей внутренней базе данных для управления рендерингом сводной страницы сборки. , Мы не хотим хранить слишком много ошибок / предупреждений, поскольку в большинстве случаев первые несколько ошибок / предупреждений являются ключом к проблеме, а остальные - просто шумом.