Missed .NET Day on Agentic Modernization? Watch the coding demos and agentic workflow sessions on demand.
Microsoft
Developer Blogs
Get the latest information, insights, and news from Microsoft.
Highlights

Find any commit in seconds: Commit Search comes to Azure DevOps
Tell your model when to think harder
Building agent teams with Agent Framework, GitHub Copilot CLI and Squad
Latest posts
Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 5
Cheating with <CODE>std::unique_ptr</CODE>.
Test reporting in Microsoft.Testing.Platform: from red build to root cause
Microsoft.Testing.Platform brings failures into GitHub Actions and Azure DevOps, uses pipeline history to separate regressions from flakes, and preserves usable reports when a test host crashes.
Announcing the preview of the Work IQ Developer Tools
Software is shifting from apps built for people to agents that can reason over context and act on someone's behalf. Microsoft 365 Copilot put that shift in front of hundreds of millions of users, and Work IQ gave agents a production-ready intelligence layer to build on. What's been missing is the path in between: getting from an idea to a production agent running in front of customers. Today we're announcing the developer preview of Work IQ Developer Tools (WIQD), the agentic experience for Microsoft 365 Copilot extensibility that takes any plugin (skills, connectors, declarative agents) from an empty folder t...
Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 4
Moving things around if possible.
Pull request annotations on work item cards
It's now easier to track development progress without leaving your Kanban board. Azure Boards now displays pull request annotations directly on work item cards, making it easy to see at a glance when work is actively moving through code review. With pull request status visible directly on the board, your team can quickly understand the state of development without opening a work item or switching to Azure Repos. Whether you're in a stand-up, planning your next sprint, or simply reviewing the board, you can immediately identify which work items have active pull requests. If you prefer a cleaner board, you can ...
You can now use the Azure DevOps Service Connection instead of a PAT or Build Session token
We're excited to announce the Azure DevOps service connection, a new way to access Azure DevOps from your pipelines using a Microsoft Entra workload identity (a service principal or managed identity) instead of a Personal Access Token (PAT) or session token. This post walks through what it is, how to set it up, and the many places you can use it, including several capabilities we've added based on your feedback. Why use an Azure DevOps service connection? Using an Azure DevOps service connection improves the security of your pipelines in several ways: Because the connection authenticates as a Microsoft ...
Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 3
Forcing an object into the global interface table.
Azure DevOps Remote MCP Server is generally available
Today, we're excited to announce the general availability of the Azure DevOps MCP Server 🎉 The Azure DevOps MCP Server gives AI assistants secure, contextual access to your Azure DevOps projects so they can help you plan, build, and ship software more effectively. With the Azure DevOps remote MCP Server, you can get started without installing or hosting anything yourself. Simply connect your AI assistant directly to the Azure DevOps hosted endpoint by using streamable HTTP transport and start working with your projects in minutes. Getting Started Getting started in simple. Depending on the tools that you are u...
Beyond Chat: live Speech-to-Text with Foundry Local and C#
Build a live speech-to-text app in C# with Foundry Local, a compact Nemotron model, and local model lifecycle management.
Build Production-Ready Agents with the GitHub Copilot Harness and Agent Framework
Developers increasingly want to build agents that can reason about code, modify files, execute commands, interact with developer tools, and work across entire repositories. While GitHub Copilot already provides a powerful coding harness for these scenarios, developers often need additional capabilities such as observability, middleware, approval workflows, enterprise governance, and integration with broader agent ecosystems. The GitHub Copilot integration in Microsoft Agent Framework brings these worlds together. You can now use GitHub Copilot's agentic harness as the execution engine for your agents while conti...
Remove Is Not Uninstall
Just as https://devblogs.microsoft.com/insidemsix/there-is-no-install-its-stage-and-register/ explained that Install is not truly an installation operation in MSIX, Remove is similarly not an uninstall operation. This can be surprising - sometimes even alarming - to developers coming from traditional installer technologies such as MSI, where uninstalling software typically implies: In MSIX, that model simply does not exist. Remove = Deregister + (Maybe) Destage From MSIX Deployment's perspective, a package lifecycle consists of four fundamental operations: There's a symmetry here. Stage and Reg...
Build Azure Skills Faster with Cloud Academy, a Visual Studio Subscriber Benefit
If you've been looking for a practical way to build Azure skills, Cloud Academy (a QA company) gives Visual Studio subscribers hands-on learning that fits into busy schedules. Whether you're new to Azure, expanding your cloud expertise, working towards certifications or preparing for more advanced projects, this benefit helps you learn by doing. What you'll find in Cloud Academy The Cloud Academy benefit gives Visual Studio subscribers a flexible learning experience that adapts to different learning styles and schedules, providing: With the Cloud Academy benef...
Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 2
Using a reference stored in the global interface table.
Building an operations assistant on Azure that waits for approval before it acts
Grounding an assistant in runbooks is the easy half. The interesting engineering is in the boundary between what a model proposes and what an authenticated person actually authorizes. An operations assistant stops being a demo the moment it can act. Answering "which runbook covers this alert" is a search problem. Opening an incident from that same conversation is a control-plane problem, and that is where a helpful prototype quietly turns into something you would not want on call. I built a deliberately narrow reference app to sit on that boundary and see what breaks. It runs on Azure Container Apps, retrie...
Strengthening NuGet Supply Chain Security: Reducing API Key Lifetime
NuGet API key durations will be reduced to 30 days starting August 17th. This change will significantly strengthen the integrity of the NuGet supply chain.
Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 1
Looking for a COM reference that is between strong and weak.
From generated code to trusted code with a unit-test agent
Meet the open-source polyglot testing agent that learns from a repository, writes unit tests, and checks that they build and pass.
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 10
What failure of the context callback means.
A deep dive into Power Pages Enhanced Authorization
Dataverse Native Authorization Model for Power Pages How mapped identities, security roles, and record filters move external-user authorization closer to the data. We’re introducing a major update to the Power Pages security model: authorization for external users is now enforced natively in Dataverse. Customers can opt in to this feature as they transition to the new model. This architecture moves Power Pages authorization closer to the data by translating Power Pages concepts into Dataverse-native security constructs. Instead of relying on Power Pages at runtime to reconstruct authorization for every request...
Introducing WPA MCP: Early Preview of AI-assisted trace analysis in Windows Performance Analyzer
Windows Performance Analyzer (WPA) is one of the most powerful tools available for understanding system performance on Windows. It helps engineers investigate Event Tracing for Windows (ETW) traces across CPU, memory, disk, networking, scheduling, input, and many other areas of the operating system. That power also comes with complexity. A single trace can contain a huge amount of data, and finding the right signal often requires knowing which WPA tables to open, which columns matter, how to filter the right time range, and how to connect multiple pieces of evidence into a root cause. We are working on WPA ...
Azure Developer CLI (azd) July 2026
This is the July round-up for the Azure Developer CLI (). Five releases shipped since the last post: 1.27.0, 1.27.1, 1.28.0, 1.28.1, and 1.29.0. Below is what's new, what changed, and what we fixed, with links to the pull requests if you want to dig in. Have feedback or questions? Join the release discussion on GitHub. Highlights: 🌐 Microsoft Foundry at the AI Engineer World's Fair In Pablo Castro's (Microsoft) "On AI and Knowledge" session at the AI Engineer World's Fair, the Microsoft Foundry team showed their command-line experience built on top of the extension platform. I...
Building agent teams with Agent Framework, GitHub Copilot CLI and Squad
Microsoft Agent Framework supports creating agents that use the GitHub Copilot SDK as their backend. GitHub Copilot agents provide access to powerful coding-oriented AI capabilities, including shell command execution, file operations, URL fetching, Model Context Protocol (MCP) server integration, and can be integrated into your existing development pipeline. We recently shipped this integration to v1.0 in C# and Python - fully supported and stable. Find out more here: MS Learn | Agent Framework | GitHub Copilot Agents and check out the samples here: .NET | Python A great example of using MAF and GitHub Copi...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 9
Maybe it doesn't matter.
Azure SDK Release (July 2026)
Azure SDK releases every month. In this post, you'll find this month's highlights and release notes.
Tell your model when to think harder
Not every question deserves the same amount of thought. Renaming a variable isn't the same as debugging a memory leak, and they don't need the same level of thinking. So why should your model treat them the same way every time? Starting in Visual Studio 18.9 Insiders 2, it doesn't have to. Supported models now come with a thinking effort control, so you can dial up the reasoning when a problem is genuinely hard and dial it back down when it isn't. It's a small knob with a big payoff: better-matched answers, and more control over how many credits you spend getting them. A dial, not a switch Thinking effort is...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 8
Exceptions hiding in lambda captures.
Announcing v2.0 of the official MCP C# SDK
MCP C# SDK v2.0 implements the 2026-07-28 specification with a stateless-first protocol, standardized HTTP headers, and Multi Round-Trip Requests for interactive tools, all while staying backward compatible.
Package Integrity and Enforcement
A recent conversation started (as many interesting conversations do) with a simple question: "Why is MSIX secure?" MSIX includes multiple layers of protection designed to defend against both accidental damage and malicious tampering. But as with all good security solutions, it's not the individual elements so much as their interlocking design that makes the whole stronger than the sum of its parts. MSIX was designed around several core facets, integrated in sometimes novel ways. A packaged process can be trusted to a higher degree than most applications because Windows maintains a verifiable chain of trust fr...
Visual Studio July Update — Meet the New Agent, Powered by the GitHub Copilot SDK
There's a new Agent (Preview) in Copilot Chat, built on the same GitHub Copilot SDK that powers the GitHub Copilot CLI, that gets more done with less back-and-forth.
Find any commit in seconds: Commit Search comes to Azure DevOps
Great code has a long memory. The fix you shipped last quarter, the refactor that touched a dozen files, the one-line change that explained why something works the way it does — it's all there in your commit history. The hard part has always been finding it. Today, we're excited to announce that Commit Search is entering general availability (GA) in Azure DevOps. This is a capability our team has been building and refining for quite some time — through design, a private preview with early customers, and a careful, staged rollout — and we couldn't be happier to bring it to everyone. Why we built Commit Search C...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 7
Further explorations into exception safety.
Refactor your database with SQL projects in VS Code
SQL database projects are a fundamental tool for keeping your database in source control, tracking changes and collaborating on quickly evolving database needs. Not to be forgotten, their superpower is being able to dynamically generate deployment scripts that match the declared state and the exact environment you're deploying to. SQL project development becomes more challenging when a database needs serious changes, where the requirements of the system have evolved to the point of having to rename tables and move objects between schemas. In plain T-SQL, we can rename a table or column without having to co...
Discover Agent Skills from MCP servers in .NET
Your agents can now discover and load Agent Skills directly from a Model Context Protocol (MCP) server. Instead of shipping every skill inside your application or copying skill folders into each deployment, you point an agent at an MCP server and it pulls the skills it needs on demand. A central team can publish skills once, and every agent across your organization picks them up without a redeploy. This is available today in .NET through the package. For makers, this removes a distribution problem: you author a skill in one place and serve it to many agents. For enterprise leaders, it means domain expertise –...
Query Performance Tuning in Azure DocumentDB: A Practical Guide
Writing a query that works is easy. Writing a query that scales is a different story. As collections grow to millions of documents, queries that returned results in milliseconds during development start taking seconds or timing out entirely. The root cause is almost always the same: the database is doing far more work than it needs to. In this post, we’ll take a single, realistic query and walk through the full optimization process: running explain() to understand what’s happening under the hood, building indexes step by step, and applying the ESR rule to design a compound index that eliminates wasted scans and...
Analyze MSBuild Binary Logs with Copilot in VS Code
Meet the MSBuild Binlog Analyzer for VS Code - a Copilot-powered way to read MSBuild binary logs, explain and fix build failures with one click, compare builds, and catch regressions, backed by the Microsoft.AITools.BinlogMcp MCP server.
A new way to bring native Windows APIs to JavaScript – introducing dynamic API projections for Node.js
Electron and Node.js make it straightforward to build Windows desktop apps in JavaScript. Calling Windows Runtime APIs has been less straightforward: features such as on-device AI often required a C++ or C# bridge, manual translation of WinRT types and asynchronous behavior, and wrapper code for every exposed API. That meant another language and toolchain to build, test, and keep compatible with Electron. We're making a dynamic Windows Runtime API (WinRT) projection for Node.js available in public preview. It lets an Electron app or plain Node.js process call supported Windows Runtime APIs directly fro...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 6
Exception-safety, the invisible bug.
Java OpenJDK July 2026 Patch & Security Update
Hello Java customers! We are happy to announce the latest July 2026 patch & security update release for the Microsoft Build of OpenJDK. Check our release notes page for details on fixes and enhancements or download and install the binaries today. The source code of our builds are now available on GitHub for further inspection: Microsoft Build of OpenJDK specific updates OpenJDK 25 OpenJDK 21 OpenJDK 17 OpenJDK 11 Summary of Upstream Updates OpenJDK Vulnerability Advisory July 2026 OpenJDK 25 OpenJDK 21 ...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 5
Making sure to use the non-agile delegate non-agile-ly.
Native Agent Memory for Microsoft Agent Framework, Powered by Azure Cosmos DB
Recently we introduced the Agent Memory Toolkit and the Agentic Retrieval Toolkit for Azure Cosmos DB. The Agent Memory Toolkit gives your agents durable, Cosmos-backed memory: it stores raw conversation turns and then distills them into higher-value derived memories (thread summaries, extracted facts, and cross-thread user profiles), all searchable with vector, full-text, and hybrid search in the one database you already use. Today we're taking the next step. With the latest release of Microsoft Agent Framework, you can now drop that memory into an agent with a single object: the , shipped in the new package f...
The Microsoft 365 Copilot Agent’s Playbook: A Practical Livestream Series for Building Better Agents
Building on Microsoft 365 Copilot? Here's your playbook. Declarative agents are quickly becoming one of the most exciting ways to extend Microsoft 365 Copilot and bring organizational knowledge, workflows, and tools directly into the flow of work. But as agent capabilities grow, so does the need for practical guidance: How do you build agents that are useful, grounded, extensible, and measurable? That’s why we’re launching The Microsoft 365 Copilot Agent’s Playbook, a four-part livestream series designed to help developers, makers, and technical teams understand how modern Microsoft 365 Copilot decl...
Move Agent Orchestration/Workflows out of Code with Agent Framework Declarative Workflows 1.0
Most multi-agent apps wire every flow in application code: the sequence of steps, branching, and handoffs between agents all live inside the program, making the orchestration harder to review, version, and change. Declarative workflows make that orchestration explicit. In YAML, you define how agents coordinate, how state changes, where execution branches, and when people step in. Agent Framework loads the definition into a standard workflow you can run, stream, and compose with code. Today, declarative workflows reach 1.0 across both Agent Framework SDKs. Python's package is now 1.0.0, joining th...
Build locally, ship to Azure: meet Azure SQL Developer
Big news: Azure SQL Developer is here, in private preview. It's the Azure SQL Database engine, on your laptop, in a container. Build against the exact engine you run in the cloud. Ship the same code to Azure. Change one line, the connection string, and you're in production. Free for local dev and CI. No subscription. No credit card. No catch. Run it yourself, or hand it to an AI agent and watch it go. The inner-loop problem If you build apps on a cloud database, you know the friction. To develop and test locally, you either point your app at a shared cloud instance, with slow round trips, noisy neighbors, and ...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 4
Optimizing the context check.
Smarter Spring Development in Eclipse with GitHub Copilot
How the Spring Tools MCP Server and GitHub Copilot together make Spring Development more efficient. Introduction If you write Spring Boot applications in Eclipse, you already know that Spring Tools for Eclipse brings best-in-class tooling right into your IDE, including quick navigation and visualization of core Spring elements in your projects, live information from running Spring Boot applications, Spring specific auto completion, validations and quick fixes, request mapping overviews, and much more. In addition to that, if you have the GitHub Copilot plugin for Eclipse installed, you have a powerful AI codi...
Pure Virtual C++ 2026 Is a Wrap
Pure Virtual C++ 2026 is a wrap. Every featured and on-demand session is now available on YouTube — catch up on C++/Rust interop, AI-driven tooling, build performance, and more.
Windows App Development CLI v0.5.0 – expanded UI automation, JS/TS bindings, and more
WinApp CLI v0.5.0 greatly expands the UI automation toolkit (recording, touch, pen, and keyboard injection), lets you call Windows Runtime APIs straight from JavaScript and TypeScript with zero native addons, and makes WinUI crashes far easier to diagnose. Get the update by running winget install Microsoft.WinAppCLI or check the repo for other install options. Here's what the new version has to offer in depth: 🕹️ An expanded UI automation toolkit The winapp ui command family grew from inspection into a complete automation toolkit. On top of the existing inspect/click/screenshot verbs, these relea...
Building Agents that Act on Your Behalf with Toolboxes in Foundry
How Toolboxes in Foundry simplify user delegation At some point, many agents move from answering questions to taking action. And when it does, the question becomes: whose identity is it acting with? Imagine you are building an internal employee agent. It needs to call a private, Entra-protected MCP server for orders, and it also needs to use Microsoft’s managed Work IQ MCP server to reason over the employee’s Microsoft 365 context. In both cases, the agent can’t run as a managed identity or service account. It has to act as the real signed-in user — with that user’s permissions, access boundaries, and data pr...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 3
The object that actively refuses to be marshaled.
The Microsoft Agent Framework Harness is now released
Your agents can now be built on a stable, batteries-included harness - the loop, planning, memory, context management, approvals, and telemetry that turn a model into an agent that actually does things - in both Python and .NET. What is an agent harness? An agent harness is the scaffolding that turns a language model into an agent. A model on its own can only generate text. To have it call tools, work through multi-step tasks, remember what it has done, and keep going until the job is finished, you need a runtime wrapped around the model - and that runtime is the harness. Agent Framework ships a ready-made o...
Pure Virtual C++ 2026 Is Now Live!
Pure Virtual C++ 2026 is streaming now — watch five featured sessions live with Q&A, plus a full on-demand playlist, all free.
Introducing the ETW MCP: AI-assisted ETL trace analysis, headless and in your terminal
If you’ve ever opened an ETL trace with hundreds of data tables and wondered “where do I even start?” This post is for you. We’re releasing an early preview of the ETW MCP, a Model Context Protocol server that lets GitHub Copilot, or any MCP-aware AI assistant, read, query, and reason over Event Tracing for Windows (ETW) traces the same way an experienced engineer would. No UI required. This is a companion to the WPA MCP, which brings the same AI-assisted experience inside Windows Performance Analyzer. The ETW MCP server is the headless sibling, same data layer, no WPA needed, works anywhere you can run Copilo...
July Patches for Azure DevOps Server
We are releasing new patches for our self‑hosted product, Azure DevOps Server. We strongly recommend that all customers stay up to date with the latest, most secure version of Azure DevOps Server. The most recent release, Azure DevOps Server, is available on the download page. The following versions have been patched. For more details on these updates, see the release notes: ⬇️Azure DevOps Server Patch Download ✅Verifying Installation To verify that the patch is installed, run the following command on the Azure DevOps Server machine using the patch installer you downloaded: Replace with the name of the...
Display Name is for Humans
Package identity exists for one primary purpose: This is a considerable improvement over the historical tendency to assign UUIDs and GUIDs to nearly everything - including things that humans were expected to discuss in meetings. Identity Is for Systems A package's Name, Package Full Name, and other identity-derived values are intended for developer and system use. These identifiers prioritize correctness, uniqueness, and programmatic consumption - not clarity or friendliness from an end-user's perspective. Identity must remain stable across servicing operations and dependency resolution. If it changes, the...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 2
Short-circuiting the easiest case.
How to test agent experience changes without shipping them
Most changes you think will improve AI agent behavior won't. We tested a dozen hypotheses on a real project upgrade scenario and the majority failed. Learn how to emulate documentation, API, and MCP server changes locally so you can validate what works before shipping anything to production.
C++ Dependencies Without the Headache: vcpkg + Copilot CLI
At Pure Virtual C++ 2026, we build a C++ console app from an empty folder using CMake, MSVC, and GitHub Copilot CLI. This walkthrough shows a practical prompt sequence for dependency selection, reproducible builds, and controlled updates.
Pure Virtual C++ 2026 Is Tomorrow and On-Demand Sessions Are Now Available
The on-demand sessions for Pure Virtual C++ 2026 are available now on YouTube. Watch seven talks on SPGO, vcpkg + Copilot CLI, CMake Tools, PackageReference, MSVC upgrades, and C++23/26 status — then join us live tomorrow.
Announcing a New Visual Manifest Editor in the WinApp VS Code Extension
The WinApp VS Code extension exists to make Windows app development feel at home in VS Code. It brings the Windows App Development CLI right into the editor, so you can initialize, run, debug, package, and sign Windows apps built with .NET, WPF, WinUI, C++, Electron, Rust, Tauri, or Flutter, all without switching tools. Get it now: Install the WinApp extension from the VS Code Marketplace. We're excited to announce the release of v0.2. This release includes a new editor that supports editing a manifest file without touching raw XML and support for running WinApp commands in multi-app workspaces. A Visu...
T-SQL Hygiene: Introducing the Covering Index
Often in applications, we write database queries. And often, the same query is executed again and again. To make queries against large tables faster, we can add an index. This is a general improvement for anyone accessing the table. However, there is a specially designed index called a covering index that can make queries against large tables particularly faster for one specific query. We call it covering because it covers all the projections and predicates in that query. Which query? That is up to you, the developer, to identify. Look for queries that are either 1) very important to run fast or 2) extreme...
AI agents, meet the Azure Cosmos DB vNext emulator
If you use the Azure Cosmos DB vNext emulator, you probably know the local development loop: start the emulator, connect to it, create some resources, load test data, run queries, and inspect the results. Each step is straightforward, but together they add setup work before you can test the application you are actually building. How agents work with the emulator The emulator includes the Azure Cosmos DB Shell, an open-source CLI for working with databases, containers, and items. It runs inside the emulator container and handles the local endpoint and well-known key, giving developers a direct, scr...
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 1
The easy case is easy.
Faster C++ iterative builds with GitHub Copilot
Slow builds are a consistent theme of feedback from C++ developers. We built GitHub Copilot build performance for Windows so you can leverage Copilot to optimize your project’s build times. This workflow will find optimizations that bring your build times down. At first, we only measured the impact of build optimizations on full clean builds. While that number is valuable, we know that you are not rebuilding from scratch on most days. You edit a file and build, then repeat the process as part of your iterative loop. Working with customers after the public preview, we noticed that every now and then, the age...
Why has the display control panel pointer truncation bug gone unfixed for so long?
It's fixed, but the fix isn't getting there.
How to test agent skills without hitting real APIs
Your agent skill calls an API. The moment you start evaluating it, every run either costs money or mutates production data. Learn how to mock APIs transparently so you can run evals without changing your skill or hitting real endpoints.
Teaching a Vision Model to See Like a Human Annotator—and Catching It When It Lies
A multimodal LLM enrichment pipeline that extracts structured metadata from visual assets, constrains output to predefined values to minimize hallucinations, and uses a ground truth evaluation template to measure quality—all as a plug-and-play module.
Pure Virtual C++ 2026 [Meet the Speakers, Part 3]: Modernizing C++
Meet the speakers behind Pure Virtual C++ 2026. In the final part, Victor Ciura maps the real challenges and promising directions for C++/Rust interop.
Build Once, Run Everywhere: Unified Manifest for Office Add-Ins now Generally Available
Unified manifest support for Word, Excel, PowerPoint, and Outlook makes it possible for developers to build a single app that works across Microsoft 365 apps, creating a more consistent experience for users and a simpler deployment model for IT admins.
T-SQL Hygiene: What’s the Big Deal with SET NOCOUNT ON?
Learn why SET NOCOUNT ON improves stored procedure efficiency, reduces unnecessary messages, and matters to .NET developers.
Announcing .NET Modernization for Beginners
A free, open-source, hands-on course that walks you through modernizing a real legacy ASP.NET application all the way to .NET 10 using the GitHub Copilot modernization agent, step by step.
How to build long-running MCP tools on Azure Functions
Learn how to build long-running MCP tools on Azure Functions using Durable Functions. This post explains why synchronous tool calls break down for long-running work, introduces the MCP Tasks extension, and walks through a sample pattern that works with existing request/response clients today.
Visual Studio Administrator? Join our Private Marketplace Preview!
Organizations are increasingly looking for greater control over extensions within development environments. Driven by security, compliance, and internal governance requirements, teams want more visibility into how developers discover and acquire extensions. To address these needs, we're excited to begin previewing Private Marketplace support in Visual Studio. Private Marketplace for Visual Studio For organizations familiar with Private Marketplace in VS Code, Private Marketplace in Visual Studio provides a similar curated extension acquisition experience while preserving the familiar Visual Studio workfl...