AIGuiders.DotNetBuildTestParsers
0.1.1
dotnet add package AIGuiders.DotNetBuildTestParsers --version 0.1.1
NuGet\Install-Package AIGuiders.DotNetBuildTestParsers -Version 0.1.1
<PackageReference Include="AIGuiders.DotNetBuildTestParsers" Version="0.1.1" />
<PackageVersion Include="AIGuiders.DotNetBuildTestParsers" Version="0.1.1" />
<PackageReference Include="AIGuiders.DotNetBuildTestParsers" />
paket add AIGuiders.DotNetBuildTestParsers --version 0.1.1
#r "nuget: AIGuiders.DotNetBuildTestParsers, 0.1.1"
#:package AIGuiders.DotNetBuildTestParsers@0.1.1
#addin nuget:?package=AIGuiders.DotNetBuildTestParsers&version=0.1.1
#tool nuget:?package=AIGuiders.DotNetBuildTestParsers&version=0.1.1
AIGuiders.DotNetBuildTestParsers
Небольшая библиотека без внешних зависимостей: она берёт сырой текст из stdout/stderr процессов dotnet build и dotnet test и возвращает структуры C#, с которыми удобно строить отчёты, панели в IDE, ответы MCP и т.д.
Целевой фреймворк: .NET 10 (net10.0). Лицензия: MIT.
Зачем
- Сборка: MSBuild печатает диагностики в виде
путь(строка,столбец): error|warning КОД: сообщение— парсер вытаскивает списки ошибок и предупреждений и при необходимости код выхода из строки видаExit code: N. - Тесты: при типичном консольном выводе
dotnet testпарсер собирает счётчики passed/failed/skipped и для упавших тестов — имя, длительность (если есть) и текст сообщения, если он следует в логе сразу послеFailed ….
Такой слой общий для инструментов вроде dotnet-build-test-mcp и Cascade IDE: один раз разобрали вывод — дальше не дублировать regex по проектам.
Установка
dotnet add package AIGuiders.DotNetBuildTestParsers
Пакет на NuGet: AIGuiders.DotNetBuildTestParsers. Исходники: github.com/KarataevDmitry/dotnet-build-test-parsers.
dotnet build
using DotNetBuildTestParsers;
var log = await File.ReadAllTextAsync("build.log"); // или stdout процесса
var r = BuildOutputParser.Parse(log);
if (!r.Success)
{
foreach (var e in r.Errors)
Console.WriteLine($"{e.File}:{e.Line} {e.Code} {e.Message}");
}
// r.Warnings — предупреждения; r.ExitCode — если в тексте была строка Exit code:
Типы: BuildParseResult, BuildDiagnostic (файл, строка, столбец, код, сообщение).
dotnet test
Ориентир по формату лога — console logger, уровень детализации normal или detailed, когда в выводе есть строки вида Passed …, Failed … и при падении блоки с Error Message: / Message:.
using DotNetBuildTestParsers;
var log = await File.ReadAllTextAsync("test.log");
var r = TestOutputParser.Parse(log);
Console.WriteLine($"Total={r.Total}, passed={r.Passed}, failed={r.Failed}, skipped={r.Skipped}");
foreach (var t in r.FailedTests)
Console.WriteLine($"{t.Name}: {t.Message}");
Типы: TestParseResult, TestResultItem.
Ограничения
Парсеры заточены под распространённые шаблоны вывода MSBuild и консольного логгера тестов. Экзотические локали, другие логгеры или сильно урезанный verbosity могут дать неполную картину — в сомнительных случаях проверяй сырой лог рядом с результатом Parse.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.1 | 91 | 5/14/2026 |