What problem does it solve?
Changes to MSBuild's BinaryLogger, BuildEventArgs types, or event serialization can silently break the .binlog format, causing older log viewers to crash or lose diagnostic data. This Skill provides the rules and checklist needed to keep binary log output backward- and forward-compatible.
Core Features & Use Cases
- Serialization Compatibility Rules: Enforces append-only field additions, version-gated reads/writes, and graceful handling of unknown record types so older MSBuild Structured Log Viewer versions keep working.
- New Event Type Guidance: Walks through adding BuildEventArgs subclasses with WriteToStream/CreateFromStream implementations, record type constants, and format version increments.
- Importance Levels & ProjectImportsCollector: Clarifies message importance semantics and how imported .props/.targets files are embedded into binlogs.
- Use Case: When adding a new build warning event to MSBuild, follow the checklist to implement serialization, bump the binlog version, and add a round-trip test verifying replay through BinaryLogReplayEventSource.
Quick Start
Ask the AI to review your BinaryLogger or BuildEventArgs change for binary log compatibility and generate the required serialization and test updates.