惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
D
Docker
J
Java Code Geeks
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
腾讯CDC
罗磊的独立博客
U
Unit 42
爱范儿
爱范儿
Vercel News
Vercel News
MyScale Blog
MyScale Blog

.NET Blog

Share your .NET story with the community - .NET Blog Use C# unions and closed hierarchies in ASP.NET Core - .NET Blog Announcing .NET 11 Release Candidate 1 - .NET Blog .NET Conf 2026 Community Days Call for Presenters Is Open - .NET Blog .NET and .NET Framework September 2026 servicing releases updates - .NET Blog Test what you ship: MSTest and Native AOT - .NET Blog How Uno Platform uses .NET, MCP, and AI to build high quality apps - .NET Blog .NET Conf 2026 - .NET Blog From dotnet run to Foundry Hosted Agent in 3 lines of C# - .NET Blog Explore new features available in C# 15 preview - .NET Blog Routing and Failover for Microsoft.Extensions.AI - .NET Blog Instructions Hygiene - What Frontier Models Still Need You to Say - .NET Blog .NET 11 Preview 7 is now available! - .NET Blog .NET and .NET Framework August 2026 servicing releases updates - .NET Blog Test reporting in Microsoft.Testing.Platform: from red build to root cause - .NET Blog Beyond Chat: live Speech-to-Text with Foundry Local and C# - .NET Blog Strengthening NuGet Supply Chain Security: Reducing API Key Lifetime - .NET Blog From generated code to trusted code with a unit-test agent - .NET Blog Announcing v2.0 of the official MCP C# SDK - .NET Blog Announcing .NET Modernization for Beginners - .NET Blog .NET and .NET Framework July 2026 servicing releases updates - .NET Blog CoreCLR Progress and the Mono Timeline for .NET MAUI - .NET Blog .NET 11 Preview 6 is now available! - .NET Blog Modernize .NET applications in the GitHub Copilot app - .NET Blog MCP Beyond the Chat Window: Build Diagnostics in CI - .NET Blog .NET 8 and .NET 9 will reach End of Support on November 10, 2026 - .NET Blog SkiaSharp 4.0 is here: announcing the first stable release - .NET Blog Packaging and Package Identity for .NET apps with WinApp CLI on Windows - .NET Blog AI-Powered MSBuild Investigation with the Microsoft Binlog MCP Server - .NET Blog Join us for .NET Day on Agentic Modernization Livestream
Analyze MSBuild Binary Logs with Copilot in VS Code - .NE...
Yuliia Kovalova · 2026-07-28 · via .NET Blog

You know the moment. CI goes red, or a build that took 8 seconds yesterday now takes 40, and you’re staring at a wall of MSBuild output trying to find the one line that matters. The answer is almost always sitting in the binary log (.binlog) – it records every project, target, task, property, and diagnostic in the build. The problem is that reading one has meant firing up a separate viewer and already knowing where to look.

What if you could just ask?

That’s the idea behind the MSBuild Binlog Analyzer for VS Code, now in Preview on the Visual Studio Marketplace. It brings binlog analysis right into your editor and hands the tedious detective work to GitHub Copilot Chat – so you can stay in the flow and keep shipping.

Just want an agent to investigate builds for you – say, unattended in CI? Check out the Microsoft Binlog MCP Server – the same analysis engine, driven headlessly. This post is about the interactive, in-editor experience.

The problems it solves

Build logs are the best evidence you have and the most annoying to read. The Binlog Analyzer turns that evidence into answers:

  • “Why did my build fail?” Get a plain-language root cause instead of scrolling NuGet restore noise – and fix it with a single click, right in VS Code.
  • “Why is this slow?” See the slowest targets and tasks ranked, with the critical path that actually gates your build time highlighted for you.
  • “What changed?” Compare two builds side by side and get an itemized diff of timing, diagnostics, properties, and package versions – so “it feels slower” becomes “CoreCompile regressed by 14.7s.”
  • “Is my incremental build working?” Find out which targets rebuilt and why, instead of guessing.

No context-switching, no separate tool, no decoding MSBuild by hand.

What it is

Under the hood, the extension pairs with a .NET global-tool MCP server, Microsoft.AITools.BinlogMcp, which exposes dozens of build-analysis tools over the Model Context Protocol. Copilot calls those tools to ground its answers in your actual log – not guesswork. Best of all, the server is auto-installed on first use, so there’s nothing to wire up by hand.

Binlog Explorer sidebar before a log loads, showing Load, Build & Collect, and Download from CI/CD actions.

Install

  1. Install the extension from the Marketplace. You’ll need VS Code 1.99+, GitHub Copilot, and the .NET SDK.
  2. Open a .binlog in one of three ways: Binlog: Load File from the Command Palette (Ctrl+Shift+P), Build & Collect Binlog to build and capture in one step, or Open in VS Code from the Structured Log Viewer.
  3. Ask @binlog in Copilot Chat:
@binlog why did the build fail?
@binlog what are the slowest targets?
@binlog /perf

Build & Collect captures a log; @binlog /summary shows a Build Overview with result, duration, and error counts.

A tour of the best parts

The Binlog Explorer is your map

The sidebar tree lays the whole build out at a glance: Loaded Binlogs, Projects, Errors, Warnings, and a Performance section with the slowest targets, slowest tasks, rebuild reasons, and analyzer timing. Diagnostics also light up VS Code’s native Problems panel with per-project CodeLens and an Ask @binlog action – so an error in the tree is one click from an explanation.

@binlog chat – and fixing the build in one click

This is where analysis becomes a conversation. Ask open-ended questions, or reach for slash commands like /errors, /perf, /timeline, /compare, /summary, /incremental, and /buildcheck. Because the participant calls the MCP tools directly, every answer cites real data from the log.

Then comes the part people love: Fix all issues. Copilot reads the failing project, applies the fix, rebuilds, and loads the before/after binlogs so you can confirm it worked – all without leaving the editor. Prefer to go one at a time? Right-click any diagnostic and choose Auto-fix with Copilot.

The @binlog /summary response explains an NU1102 package error and suggests the PackageReference fix.

Catch regressions before they ship

Set any loaded .binlog as a baseline, and every new build is compared against it automatically. A Build: +X% vs baseline badge appears in the status bar, and a Regressions node spells out exactly what changed: slower targets, added or removed diagnostics, MSBuild property diffs, and NuGet package version changes. Hand any single regression straight to @binlog to dig in.

The Regressions node lists slower targets like CoreCompile while @binlog investigates one target regression.

Compare two builds, visually

The Build Comparison view lines up two logs target-by-target with deltas, and the project graph highlights the critical path computed by the MCP server. In the example below, Copilot traces a +473% spike straight to a cold-start CoreCompile and explains it’s a first-compile cost – not a problem with your code. That’s the difference between a number and an answer.

Build Comparison shows targets A vs B with deltas; Copilot explains where 23.7s went, CoreCompile dominating.

And there’s more

The extension is packed with extras worth exploring:

  • Build Timeline – visual bar charts of target and task durations, with click-to-analyze in Copilot.
  • Optimize build – pick optimizations, let Copilot apply them, and verify the win with an automatic A/B comparison.
  • CI/CD integration – download binlogs from Azure DevOps Pipelines and GitHub Actions, filtered by branch or PR, and analyze a failed CI build without leaving VS Code.
  • Search – query across every build event: targets, tasks, messages, and properties.
  • Language Model tools (binlog_lm_overview, binlog_lm_errors, binlog_lm_search, binlog_lm_perf, binlog_lm_compare) – available to agent mode and custom chat modes, plus a ready-made Build Analysis chat mode that works with any agent.

Try it

The MSBuild Binlog Analyzer is in Preview and under active development. Install it from the Visual Studio Marketplace, point it at a .binlog, and ask @binlog your next build question. The next red build might just fix itself. We’d love your feedback.

Feedback

The MSBuild Binlog Analyzer is built in the open, and your feedback shapes where it goes next. Found a bug, hit a rough edge, or have an idea for a feature? Please open an issue in the dotnet/skills repository – bug reports, feature requests, and general feedback are all welcome. Let us know what’s working, what isn’t, and what you’d like to see next.

Category

Topics

Author

Yuliia Kovalova

Yuliia is a Senior Software Engineer on the Languages and Frameworks team.

Jan Krivanek

Jan is a Principal Software Engineer on the Languages and Frameworks team.