AIGuiders.DotNetBuildTestParsers 0.1.1

dotnet add package AIGuiders.DotNetBuildTestParsers --version 0.1.1
                    
NuGet\Install-Package AIGuiders.DotNetBuildTestParsers -Version 0.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AIGuiders.DotNetBuildTestParsers" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AIGuiders.DotNetBuildTestParsers" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="AIGuiders.DotNetBuildTestParsers" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AIGuiders.DotNetBuildTestParsers --version 0.1.1
                    
#r "nuget: AIGuiders.DotNetBuildTestParsers, 0.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AIGuiders.DotNetBuildTestParsers@0.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AIGuiders.DotNetBuildTestParsers&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=AIGuiders.DotNetBuildTestParsers&version=0.1.1
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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