<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Developer Tools | The .NET Blog</title><link>https://thedotnetblog.com/de/tags/developer-tools/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>de</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Fri, 15 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/de/tags/developer-tools/index.xml" rel="self" type="application/rss+xml"/><item><title>VS Code 1.119: OpenTelemetry für Agent-Sitzungen, Browser-Integration und Sicherheit</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/</guid><description>VS Code 1.119 (Mai 2026) fügt OpenTelemetry-Tracing für Agent-Sitzungen, Browser-Tab-Freigabe für Agents, Verbesserungen bei Vertrauen und Sicherheit sowie einen 1.119.1-Sicherheits-Patch hinzu.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_119"&gt;VS Code 1.119&lt;/a&gt; wurde am 6. Mai 2026 veröffentlicht (mit einem 1.119.1-Sicherheits-Patch kurz danach). Das Release konzentriert sich auf Agent-Observability, Browser-Interaktion und die Reduzierung von Unterbrechungen.&lt;/p&gt;
&lt;h2 id="opentelemetry-tracing-für-agent-sitzungen"&gt;OpenTelemetry-Tracing für Agent-Sitzungen&lt;/h2&gt;
&lt;p&gt;Dies ist das herausragende Feature für alle, die Agents in der Produktion betreiben oder agentische Workflows debuggen. Aktivieren Sie es mit zwei Einstellungen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;github.copilot.chat.otel.enabled&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;github.copilot.chat.otel.otlpEndpoint&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;http://localhost:4318&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Traces folgen den semantischen GenAI-Konventionen. Jede Agent-Anfrage erzeugt einen &lt;code&gt;invoke_agent&lt;/code&gt;-Root-Span mit verschachtelten Child-Spans: &lt;code&gt;chat&lt;/code&gt;, &lt;code&gt;execute_tool&lt;/code&gt; und &lt;code&gt;execute_hook&lt;/code&gt;. Token-Nutzung wird pro Anfrage gemeldet — einschließlich Cache-Lese- und Cache-Erstellungszählungen.&lt;/p&gt;
&lt;p&gt;Funktioniert mit dem lokalen Agent, dem Copilot CLI Hintergrund-Agent und dem Claude-Agent. Jedes OTLP-kompatible Backend akzeptiert die Traces — das &lt;a href="https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/standalone"&gt;Aspire Dashboard Standalone&lt;/a&gt; eignet sich gut für die lokale Entwicklung.&lt;/p&gt;
&lt;h2 id="agents-können-jetzt-auf-browser-tabs-zugreifen"&gt;Agents können jetzt auf Browser-Tabs zugreifen&lt;/h2&gt;
&lt;p&gt;Agents können den Zugriff auf Ihre integrierten Browser-Tabs anfordern — aber nicht automatisch. Sie müssen einen Tab explizit über den Kontext-Picker, Drag-and-Drop oder vorgeschlagenen Kontext freigeben. Im Browser gibt es eine Freigabe-Schaltfläche zum Widerrufen des Zugriffs. Wenn ein Agent versucht, einen neuen Tab auf derselben Domain wie ein bereits offener (nicht freigegebener) Tab zu öffnen, fordert VS Code Sie auf, den vorhandenen Tab wiederzuverwenden.&lt;/p&gt;
&lt;h2 id="optimierte-token-nutzung"&gt;Optimierte Token-Nutzung&lt;/h2&gt;
&lt;p&gt;Ein experimentelles leichtgewichtiges Modell übernimmt jetzt die Verwaltung von Agent-Aufgabenlisten und hält diese Verwaltungsarbeit vom teureren Primärmodell fern. Reduziert den Token-Verbrauch für Aufgaben, die keine volle Reasoning-Kapazität benötigen.&lt;/p&gt;
&lt;h2 id="vertrauen-und-sicherheit"&gt;Vertrauen und Sicherheit&lt;/h2&gt;
&lt;p&gt;Weniger Unterbrechungen: VS Code 1.119 reduziert Aufforderungen für Netzwerkzugriffsanfragen und Schreibvorgänge in temporäre Ordner durch Agents. Der 1.119.1-Patch behebt spezifische Sicherheitsprobleme — ein Update lohnt sich, falls noch nicht geschehen.&lt;/p&gt;
&lt;h2 id="schneller-wechsel-zur-markdown-vorschau"&gt;Schneller Wechsel zur Markdown-Vorschau&lt;/h2&gt;
&lt;p&gt;Klein aber nützlich: Sie können jetzt schnell den aktuellen Editor zur Markdown-Vorschau wechseln, ohne zu navigieren.&lt;/p&gt;
&lt;h2 id="vs-code-agents-insiders-vorschau"&gt;VS Code Agents (Insiders-Vorschau)&lt;/h2&gt;
&lt;p&gt;Die neu gestaltete Agent-Sitzungs-UI — neuer Repository-Picker (lokal/Repos/remote), Verbesserungen bei Unter-Sitzungen, Web- und Mobile-Polishing, Fortschrittsanimationen — ist in Insiders unter &lt;a href="https://insiders.vscode.dev/agents"&gt;insiders.vscode.dev/agents&lt;/a&gt; verfügbar.&lt;/p&gt;
&lt;p&gt;Vollständiges Changelog: &lt;a href="https://code.visualstudio.com/updates/v1_119"&gt;code.visualstudio.com/updates/v1_119&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Azure Data Studio wird eingestellt: Azure SQL-Workflows zu VS Code migrieren</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-data-studio-retired-move-to-vscode-sql/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-data-studio-retired-move-to-vscode-sql/</guid><description>Azure Data Studio wurde am 6. Februar 2025 eingestellt, der Support endet am 28. Februar 2026. Hier ist der vollständige Migrationspfad zu VS Code mit der MSSQL-Erweiterung.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-data-studio-retired-move-to-vscode-sql/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/azure-sql/azure-data-studio-is-retired-move-your-azure-sql-workflow-to-vs-code-in-10-minutes/"&gt;Azure Data Studio wurde am 6. Februar 2025 eingestellt&lt;/a&gt;, der Support endet am 28. Februar 2026 — der empfohlene Ersatz ist VS Code mit der MSSQL-Erweiterung.&lt;/p&gt;
&lt;h2 id="was-zu-installieren-ist"&gt;Was zu installieren ist&lt;/h2&gt;
&lt;p&gt;Drei Dinge für den Einstieg:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MSSQL-Erweiterung&lt;/strong&gt; — suche nach „SQL Server (mssql)&amp;quot; im VS Code Marketplace&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL Database Projects-Erweiterung&lt;/strong&gt; — Schema als Code, Build-Validierung, geführte Veröffentlichung&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.NET 8 SDK&lt;/strong&gt; — vom Build-System benötigt; fehlendes SDK ist das häufigste Problem beim ersten Start&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ads-verbindungen-und-einstellungen-migrieren"&gt;ADS-Verbindungen und Einstellungen migrieren&lt;/h2&gt;
&lt;p&gt;Die MSSQL-Erweiterung enthält das &lt;strong&gt;ADS Migration Toolkit&lt;/strong&gt;, das die einmalige Migration in einem geführten Ablauf übernimmt: gespeicherte Verbindungen, Verbindungsgruppen, Einstellungen und Tastenkürzel werden automatisch importiert.&lt;/p&gt;
&lt;h2 id="f5-muskelgedächtnis-wiederherstellen"&gt;F5-Muskelgedächtnis wiederherstellen&lt;/h2&gt;
&lt;p&gt;ADS-Nutzer verlassen sich auf F5 zum Ausführen von Abfragen. Installiere die Erweiterung &lt;strong&gt;MSSQL Database Management Keymap&lt;/strong&gt;, um ADS-Tastenkürzel inklusive F5 zurückzubekommen.&lt;/p&gt;
&lt;h2 id="sql-database-projects-schema-als-code"&gt;SQL Database Projects: Schema als Code&lt;/h2&gt;
&lt;p&gt;Rechtsklick auf ein Projekt → &lt;strong&gt;Veröffentlichen&lt;/strong&gt; → Ziel konfigurieren → generierten T-SQL-Script prüfen → deployen. Die Script-Vorschau vor dem Deployment ist das zentrale Sicherheitsmerkmal. Elementvorlagen erzeugen Stubs für Tabellen, gespeicherte Prozeduren und Views — derselbe Workflow wie bei SSDT.&lt;/p&gt;
&lt;p&gt;Häufiges Problem: eine &lt;strong&gt;Zielplattform-Inkompatibilität&lt;/strong&gt; in der &lt;code&gt;.sqlproj&lt;/code&gt;-Datei verursacht Build-Fehler, wenn das Projekt gegen eine andere SQL Server-Version erstellt wurde.&lt;/p&gt;
&lt;h2 id="schema-compare-und-schema-designer"&gt;Schema Compare und Schema Designer&lt;/h2&gt;
&lt;p&gt;Die Erweiterung enthält außerdem &lt;strong&gt;Schema Compare&lt;/strong&gt; (Unterschiede zwischen Projekt und bereitgestellter Datenbank) und &lt;strong&gt;Schema Designer&lt;/strong&gt; (visuelle Schema-Bearbeitung ohne manuelles DDL-Schreiben).&lt;/p&gt;
&lt;h2 id="microsoft-fabric-entwickler"&gt;Microsoft Fabric-Entwickler&lt;/h2&gt;
&lt;p&gt;Die Einrichtung ist identisch, aber starte zunächst im &lt;strong&gt;Fabric-Portal&lt;/strong&gt; und verbinde die Datenbank zuerst mit Git, bevor du sie in VS Code öffnest. Microsoft hat einen dedizierten Leitfaden: &lt;em&gt;Azure Data Studio to VS Code — What it means for SQL database in Fabric developers&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Die Migration ist ein einmaliger geführter Ablauf, kein manueller Neuaufbau. Installiere die drei Tools, führe das ADS Migration Toolkit aus, stelle die Tastenkürzel wieder her — und du bist in unter 10 Minuten wieder einsatzbereit.&lt;/p&gt;
&lt;p&gt;Den &lt;a href="https://devblogs.microsoft.com/azure-sql/azure-data-studio-is-retired-move-your-azure-sql-workflow-to-vs-code-in-10-minutes/"&gt;vollständigen Artikel&lt;/a&gt; findest du mit Schritt-für-Schritt-Screenshots und der Fabric-spezifischen Anleitung.&lt;/p&gt;</content:encoded></item><item><title>Der Azure MCP Server ist jetzt ein .mcpb — Ohne Runtime Installieren</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/</guid><description>Der Azure MCP Server ist jetzt als MCP Bundle (.mcpb) verfügbar — herunterladen, in Claude Desktop ziehen, fertig. Kein Node.js, Python oder .NET Runtime erforderlich.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Weißt du, was an der Einrichtung von MCP-Servern lästig war? Du brauchtest eine Runtime. Node.js für die npm-Version, Python für pip/uvx, .NET SDK für die dotnet-Variante.&lt;/p&gt;
&lt;p&gt;Der &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;Azure MCP Server hat das gerade geändert&lt;/a&gt;. Er ist jetzt als &lt;code&gt;.mcpb&lt;/code&gt; — ein MCP Bundle — verfügbar, und die Einrichtung ist Drag-and-Drop.&lt;/p&gt;
&lt;h2 id="was-ist-ein-mcp-bundle"&gt;Was ist ein MCP Bundle?&lt;/h2&gt;
&lt;p&gt;Denk daran wie an eine VS Code-Erweiterung (&lt;code&gt;.vsix&lt;/code&gt;) oder eine Browser-Erweiterung (&lt;code&gt;.crx&lt;/code&gt;), aber für MCP-Server. Eine &lt;code&gt;.mcpb&lt;/code&gt;-Datei ist ein eigenständiges ZIP-Archiv mit dem Server-Binary und allen Abhängigkeiten.&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Bundle für deine Plattform herunterladen&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Gehe auf die &lt;a href="https://github.com/microsoft/mcp/releases?q=Azure.Mcp.Server"&gt;GitHub Releases-Seite&lt;/a&gt; und lade die &lt;code&gt;.mcpb&lt;/code&gt;-Datei für dein OS und deine Architektur herunter. Stelle sicher, dass du die richtige wählst — &lt;code&gt;osx-arm64&lt;/code&gt; für Apple Silicon, &lt;code&gt;win-x64&lt;/code&gt; für Windows, usw.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. In Claude Desktop installieren&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Am einfachsten: Ziehe die &lt;code&gt;.mcpb&lt;/code&gt;-Datei in das Claude Desktop-Fenster während du auf der Erweiterungsseite bist (&lt;code&gt;☰ → Datei → Einstellungen → Erweiterungen&lt;/code&gt;). Serverdetails überprüfen, Installieren klicken, bestätigen. Fertig.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Bei Azure authentifizieren&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;az login
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das war&amp;rsquo;s. Der Azure MCP Server nutzt deine vorhandenen Azure-Anmeldeinformationen.&lt;/p&gt;
&lt;h2 id="was-du-damit-machen-kannst"&gt;Was du damit machen kannst&lt;/h2&gt;
&lt;p&gt;Über 100 Azure-Service-Tools direkt von deinem KI-Client:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cosmos DB, Storage, Key Vault, App Service, Foundry abfragen und verwalten&lt;/li&gt;
&lt;li&gt;&lt;code&gt;az&lt;/code&gt; CLI-Befehle für beliebige Aufgaben generieren&lt;/li&gt;
&lt;li&gt;Bicep- und Terraform-Vorlagen erstellen&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="erste-schritte"&gt;Erste Schritte&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://github.com/microsoft/mcp/releases?q=Azure.Mcp.Server-"&gt;GitHub Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://aka.ms/azmcp"&gt;aka.ms/azmcp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href="https://aka.ms/azmcp/docs"&gt;aka.ms/azmcp/docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Siehe den &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;vollständigen Beitrag&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.118: Copilot CLI bekommt Sitzungsnamen, Modell-Badges und TypeScript 7.0 Nightly</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/</guid><description>Visual Studio Code 1.118 ist ein fokussiertes Release mit Copilot CLI-Verbesserungen — Sitzungsbenennung, Modell-Badges, automatische Modellauswahl und TypeScript 7.0 Nightly Opt-in.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_118"&gt;Visual Studio Code 1.118&lt;/a&gt; ist ein kleineres, fokussiertes Release — hauptsächlich Copilot CLI-Verfeinerungen — aber ein paar Dinge sind es wert, notiert zu werden.&lt;/p&gt;
&lt;h2 id="copilot-cli-sitzungen-bekommen-echte-namen"&gt;Copilot CLI: Sitzungen bekommen echte Namen&lt;/h2&gt;
&lt;p&gt;Die Sitzungstitel-APIs des Copilot CLI SDK werden jetzt als Quelle der Wahrheit für Sitzungsnamen verwendet. Statt automatisch generierter Labels zeigen Sitzungen jetzt den echten Namen aus dem SDK.&lt;/p&gt;
&lt;h2 id="schneller-zwischen-sitzungen-wechseln"&gt;Schneller zwischen Sitzungen wechseln&lt;/h2&gt;
&lt;p&gt;Die Agents-App hat jetzt &lt;code&gt;Ctrl+1&lt;/code&gt;, &lt;code&gt;Ctrl+2&lt;/code&gt;, usw. für den schnellen Wechsel zwischen Sitzungen belegt. Für Entwickler, die mehrere Copilot CLI-Sitzungen parallel betreiben, spart das viele Mausklicks.&lt;/p&gt;
&lt;h2 id="modell-badges-im-chat"&gt;Modell-Badges im Chat&lt;/h2&gt;
&lt;p&gt;Copilot CLI-Antworten im Chat-Panel zeigen jetzt ein Modell-Badge — auf einen Blick erkennbar, welches Modell jede Anfrage bearbeitet hat.&lt;/p&gt;
&lt;h2 id="automatische-modellauswahl-in-copilot-cli"&gt;Automatische Modellauswahl in Copilot CLI&lt;/h2&gt;
&lt;p&gt;Die automatische Modellauswahl — zuvor in anderen Teilen von Copilot verfügbar — funktioniert jetzt auch im Copilot CLI-Agenten.&lt;/p&gt;
&lt;h2 id="typescript-70-nightly-opt-in"&gt;TypeScript 7.0 Nightly Opt-in&lt;/h2&gt;
&lt;p&gt;Du kannst jetzt direkt über die VS Code-Einstellungen die TypeScript 7.0 Nightlies testen. TypeScript 7.0 ist ein bedeutendes Release (die &lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/"&gt;Beta erschien vor einigen Tagen&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Sieh dir die &lt;a href="https://code.visualstudio.com/updates/v1_118"&gt;vollständigen Release-Notes&lt;/a&gt; an.&lt;/p&gt;</content:encoded></item><item><title>azd-Hooks in Python, TypeScript und .NET: Schluss mit Shell-Skripten</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</guid><description>Die Azure Developer CLI unterstützt jetzt Hooks in Python, JavaScript, TypeScript und .NET. Kein Kontextwechsel zu Bash mehr nur für ein Migrations-Skript.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Wer schon einmal ein vollständig in .NET geschriebenes Projekt hatte und trotzdem Bash-Skripte für azd-Hooks schreiben musste, kennt den Schmerz. Warum in Shell-Syntax wechseln für einen Pre-Provisioning-Schritt, wenn der Rest des Projekts C# ist?&lt;/p&gt;
&lt;p&gt;Diese Frustration hat jetzt eine offizielle Lösung. Die Azure Developer CLI hat &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;Multi-Sprachen-Unterstützung für Hooks eingeführt&lt;/a&gt;, und es ist genauso gut wie es klingt.&lt;/p&gt;
&lt;h2 id="was-sind-hooks"&gt;Was sind Hooks?&lt;/h2&gt;
&lt;p&gt;Hooks sind Skripte, die an wichtigen Punkten im &lt;code&gt;azd&lt;/code&gt;-Lebenszyklus ausgeführt werden — vor dem Provisioning, nach dem Deployment und mehr. Sie werden in &lt;code&gt;azure.yaml&lt;/code&gt; definiert und ermöglichen die Injektion von benutzerdefinierter Logik ohne Änderungen an der CLI.&lt;/p&gt;
&lt;p&gt;Bisher wurden nur Bash und PowerShell unterstützt. Jetzt kann man &lt;strong&gt;Python, JavaScript, TypeScript oder .NET&lt;/strong&gt; verwenden — und &lt;code&gt;azd&lt;/code&gt; erledigt den Rest automatisch.&lt;/p&gt;
&lt;h2 id="wie-die-erkennung-funktioniert"&gt;Wie die Erkennung funktioniert&lt;/h2&gt;
&lt;p&gt;Man verweist den Hook auf eine Datei, und &lt;code&gt;azd&lt;/code&gt; leitet die Sprache aus der Dateiendung ab:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.py&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postdeploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/seed.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Keine zusätzliche Konfiguration. Bei mehrdeutigen Endungen kann man &lt;code&gt;kind: python&lt;/code&gt; (oder die entsprechende Sprache) explizit angeben.&lt;/p&gt;
&lt;h2 id="sprachspezifische-details"&gt;Sprachspezifische Details&lt;/h2&gt;
&lt;h3 id="python"&gt;Python&lt;/h3&gt;
&lt;p&gt;Eine &lt;code&gt;requirements.txt&lt;/code&gt; oder &lt;code&gt;pyproject.toml&lt;/code&gt; neben dem Skript ablegen (oder in einem übergeordneten Verzeichnis). &lt;code&gt;azd&lt;/code&gt; erstellt automatisch eine virtuelle Umgebung, installiert Abhängigkeiten und führt das Skript aus.&lt;/p&gt;
&lt;h3 id="javascript-und-typescript"&gt;JavaScript und TypeScript&lt;/h3&gt;
&lt;p&gt;Dasselbe Muster — eine &lt;code&gt;package.json&lt;/code&gt; in der Nähe des Skripts, und &lt;code&gt;azd&lt;/code&gt; führt zuerst &lt;code&gt;npm install&lt;/code&gt; aus. Für TypeScript wird &lt;code&gt;npx tsx&lt;/code&gt; verwendet, ohne Kompilierungsschritt und ohne &lt;code&gt;tsconfig.json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="net"&gt;.NET&lt;/h3&gt;
&lt;p&gt;Zwei Modi verfügbar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Projektmodus&lt;/strong&gt;: Liegt eine &lt;code&gt;.csproj&lt;/code&gt; neben dem Skript, führt &lt;code&gt;azd&lt;/code&gt; automatisch &lt;code&gt;dotnet restore&lt;/code&gt; und &lt;code&gt;dotnet build&lt;/code&gt; aus.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Single-File-Modus&lt;/strong&gt;: Ab .NET 10+ können eigenständige &lt;code&gt;.cs&lt;/code&gt;-Dateien direkt via &lt;code&gt;dotnet run script.cs&lt;/code&gt; ausgeführt werden. Kein Projektdatei erforderlich.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="executor-spezifische-konfiguration"&gt;Executor-spezifische Konfiguration&lt;/h2&gt;
&lt;p&gt;Jede Sprache unterstützt einen optionalen &lt;code&gt;config&lt;/code&gt;-Block:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;packageManager&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;pnpm&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;configuration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Release&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;framework&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;net10.0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="warum-das-für-net-entwickler-wichtig-ist"&gt;Warum das für .NET-Entwickler wichtig ist&lt;/h2&gt;
&lt;p&gt;Hooks waren der letzte Ort in einem azd-basierten Projekt, der einen Sprachwechsel erzwang. Jetzt kann die gesamte Deployment-Pipeline — App-Code, Infrastrukturskripte und Lifecycle-Hooks — in einer einzigen Sprache leben. Bestehende .NET-Utilities lassen sich in Hooks wiederverwenden, gemeinsame Bibliotheken referenzieren, und Shell-Skript-Pflege entfällt.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Einer dieser Änderungen, die klein klingen, aber täglich Reibung aus dem azd-Workflow nehmen. Multi-Sprachen-Hook-Unterstützung ist jetzt verfügbar — alle Details im &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;offiziellen Post&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Foundry Toolboxes: Ein einziger Endpunkt für alle Agent-Tools</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</guid><description>Microsoft Foundry hat Toolboxes in der Public Preview veröffentlicht — eine Möglichkeit, KI-Agent-Tools über einen einzigen MCP-kompatiblen Endpunkt zu kuratieren, zu verwalten und bereitzustellen.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hier ist ein Problem, das banal klingt, bis man es selbst erlebt: Die Organisation baut mehrere KI-Agenten, jeder braucht Tools, und jedes Team verkabelt sie von Grund auf neu. Dieselbe Web-Search-Integration, dieselbe Azure AI Search-Konfiguration, dieselbe GitHub-MCP-Server-Verbindung — aber in einem anderen Repository, von einem anderen Team, mit anderen Credentials und ohne gemeinsame Governance.&lt;/p&gt;
&lt;p&gt;Microsoft Foundry hat soeben &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;Toolboxes&lt;/a&gt; in der Public Preview veröffentlicht — eine direkte Antwort auf dieses Problem.&lt;/p&gt;
&lt;h2 id="was-ist-eine-toolbox"&gt;Was ist eine Toolbox?&lt;/h2&gt;
&lt;p&gt;Eine Toolbox ist ein benanntes, wiederverwendbares Tool-Bundle, das man einmal in Foundry definiert und über einen einzigen MCP-kompatiblen Endpunkt bereitstellt. Jede Agent-Runtime, die MCP spricht, kann sie konsumieren — kein Lock-in bei Foundry Agents.&lt;/p&gt;
&lt;p&gt;Das Versprechen ist einfach: &lt;strong&gt;build once, consume anywhere&lt;/strong&gt;. Tools definieren, Authentifizierung zentral konfigurieren (OAuth passthrough, Entra Managed Identity), Endpunkt veröffentlichen. Jeder Agent, der diese Tools braucht, verbindet sich einmal und bekommt sie alle.&lt;/p&gt;
&lt;h2 id="die-vier-säulen-zwei-davon-heute-verfügbar"&gt;Die vier Säulen (zwei davon heute verfügbar)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Säule&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Was sie tut&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Discover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Demnächst&lt;/td&gt;
&lt;td&gt;Genehmigte Tools finden ohne manuelle Suche&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Build&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Heute verfügbar&lt;/td&gt;
&lt;td&gt;Tools in ein wiederverwendbares Bundle kuratieren&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Consume&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Heute verfügbar&lt;/td&gt;
&lt;td&gt;Ein MCP-Endpunkt stellt alle Tools bereit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Govern&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Demnächst&lt;/td&gt;
&lt;td&gt;Zentrale Auth + Observability für alle Tool-Calls&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="praktisches-beispiel"&gt;Praktisches Beispiel&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.identity&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.projects&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;FOUNDRY_PROJECT_ENDPOINT&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;credential&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;toolbox_version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toolboxes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create_toolbox_version&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;toolbox_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;customer-feedback-triaging-toolbox&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Dokumentation durchsuchen und auf GitHub-Issues reagieren.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;web_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Öffentliche Dokumentation suchen&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;azure_ai_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;index_name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;internal-docs&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;mcp_server&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;server_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://your-github-mcp-server.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nach der Veröffentlichung liefert Foundry einen einheitlichen Endpunkt. Eine Verbindung, alle Tools.&lt;/p&gt;
&lt;h2 id="kein-lock-in-bei-foundry-agents"&gt;Kein Lock-in bei Foundry Agents&lt;/h2&gt;
&lt;p&gt;Toolboxes werden in Foundry &lt;strong&gt;erstellt und verwaltet&lt;/strong&gt;, aber die Konsumfläche ist das offene MCP-Protokoll. Sie können von Custom Agents mit Microsoft Agent Framework oder LangGraph, GitHub Copilot und anderen MCP-fähigen IDEs sowie jeder anderen MCP-Runtime genutzt werden.&lt;/p&gt;
&lt;h2 id="warum-das-jetzt-wichtig-ist"&gt;Warum das jetzt wichtig ist&lt;/h2&gt;
&lt;p&gt;Die Multi-Agenten-Welle kommt in der Produktion an. Jeder neue Agent ist eine neue Fläche für duplizierte Konfiguration, veraltete Credentials und inkonsistentes Verhalten. Die Build + Consume-Grundlage reicht aus, um mit der Zentralisierung zu beginnen. Wenn die Govern-Säule kommt, hat man eine vollständig beobachtbare, zentral gesteuerte Tool-Schicht für die gesamte Agent-Flotte.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Das ist noch früh — Public Preview, Python SDK zuerst, mit Discover und Govern noch ausstehend. Aber das Modell ist solide und das MCP-native Design bedeutet, dass es mit den Tools funktioniert, die man bereits aufbaut. Details im &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;offiziellen Announcement&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Windows App Dev CLI v0.3: F5 aus dem Terminal und UI-Automatisierung für Agenten</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/</guid><description>Windows App Development CLI v0.3 bringt winapp run für Terminal-basierte Debug-Starts, winapp ui für UI-Automatisierung und ein neues NuGet-Paket, das dotnet run mit gepackten Apps funktioniert.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Die F5-Erfahrung von Visual Studio ist großartig. Aber VS nur zum Starten und Debuggen einer gepackten Windows-App öffnen zu müssen, ist zu viel — egal ob man in einer CI-Pipeline ist, einen automatisierten Workflow ausführt oder ein KI-Agent die Tests durchführt.&lt;/p&gt;
&lt;p&gt;Windows App Development CLI v0.3 wurde &lt;a href="https://devblogs.microsoft.com/ifdef-windows/windows-app-development-cli-v0-3-new-run-and-ui-commands-plus-dotnet-run-support-for-packaged-apps/"&gt;veröffentlicht&lt;/a&gt; und adressiert das direkt mit zwei Hauptfunktionen: &lt;code&gt;winapp run&lt;/code&gt; und &lt;code&gt;winapp ui&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="winapp-run-f5-von-überall"&gt;winapp run: F5 von überall&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;winapp run&lt;/code&gt; nimmt einen ungepackten App-Ordner und ein Manifest und erledigt alles, was VS beim Debug-Start tut: registriert ein Loose-Paket, startet die App und bewahrt den &lt;code&gt;LocalState&lt;/code&gt; zwischen Re-Deploys.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# App bauen, dann als gepackte App starten&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winapp run ./bin/Debug
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Funktioniert für WinUI, WPF, WinForms, Console, Avalonia und mehr. Die Modi sind für Entwickler und automatisierte Workflows ausgelegt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--detach&lt;/code&gt;&lt;/strong&gt;: Startet und gibt die Kontrolle sofort an das Terminal zurück. Ideal für CI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--unregister-on-exit&lt;/code&gt;&lt;/strong&gt;: Räumt das registrierte Paket beim App-Schließen auf.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--debug-output&lt;/code&gt;&lt;/strong&gt;: Erfasst &lt;code&gt;OutputDebugString&lt;/code&gt;-Meldungen und Ausnahmen in Echtzeit. Mit &lt;code&gt;--symbols&lt;/code&gt; werden PDBs vom Microsoft Symbol Server geladen.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="neues-nuget-paket-dotnet-run-für-gepackte-apps"&gt;Neues NuGet-Paket: dotnet run für gepackte Apps&lt;/h2&gt;
&lt;p&gt;Für .NET-Entwickler gibt es ein neues NuGet-Paket: &lt;code&gt;Microsoft.Windows.SDK.BuildTools.WinApp&lt;/code&gt;. Nach der Installation handhabt &lt;code&gt;dotnet run&lt;/code&gt; den gesamten Inner Loop: Build, Loose-Layout-Paket vorbereiten, bei Windows registrieren und starten — alles in einem Schritt.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# winapp init erledigt die Einrichtung&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winapp init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Oder direkt installieren&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet add package Microsoft.Windows.SDK.BuildTools.WinApp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Funktioniert mit WinUI, WPF, WinForms, Console, Avalonia. Keine manuellen Schritte, nur &lt;code&gt;dotnet run&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="winapp-ui-ui-automatisierung-aus-der-kommandozeile"&gt;winapp ui: UI-Automatisierung aus der Kommandozeile&lt;/h2&gt;
&lt;p&gt;Das ist der Feature, der agentische Szenarien ermöglicht. &lt;code&gt;winapp ui&lt;/code&gt; bietet vollständigen UI-Automatisierungszugriff auf jede laufende Windows-App — WPF, WinForms, Win32, Electron, WinUI3 — direkt aus dem Terminal.&lt;/p&gt;
&lt;p&gt;Was möglich ist:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alle Fenster der obersten Ebene auflisten&lt;/li&gt;
&lt;li&gt;Den vollständigen UI-Automatisierungsbaum eines Fensters traversieren&lt;/li&gt;
&lt;li&gt;Elemente nach Name, Typ oder Automatisierungs-ID suchen&lt;/li&gt;
&lt;li&gt;Klicken, aufrufen und Werte setzen&lt;/li&gt;
&lt;li&gt;Screenshots aufnehmen&lt;/li&gt;
&lt;li&gt;Auf das Erscheinen von Elementen warten — ideal für Testsynchronisierung&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;winapp ui&lt;/code&gt; und &lt;code&gt;winapp run&lt;/code&gt; kombiniert ergeben einen vollständigen Build → Start → Verifikation-Workflow aus dem Terminal. Ein Agent kann die App ausführen, den UI-Zustand prüfen, programmatisch interagieren und das Ergebnis validieren.&lt;/p&gt;
&lt;h2 id="weitere-neuerungen"&gt;Weitere Neuerungen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp unregister&lt;/code&gt;&lt;/strong&gt;: Entfernt ein sidegeladenes Dev-Paket nach dem Test.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp manifest add-alias&lt;/code&gt;&lt;/strong&gt;: Fügt einen &lt;code&gt;uap5:AppExecutionAlias&lt;/code&gt; hinzu, damit die App per Name aus dem Terminal gestartet werden kann.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tab-Vervollständigung&lt;/strong&gt;: Ein Befehl für die vollständige PowerShell-Vervollständigung.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Package.appxmanifest&lt;/code&gt; als Standard&lt;/strong&gt;: &lt;code&gt;winapp init&lt;/code&gt; erzeugt jetzt &lt;code&gt;Package.appxmanifest&lt;/code&gt; (VS-Konvention) statt &lt;code&gt;appxmanifest.xml&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winget install Microsoft.WinAppCli
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# oder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g @microsoft/winappcli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Die CLI ist in Public Preview. Das &lt;a href="https://github.com/microsoft/WinAppCli"&gt;GitHub-Repository&lt;/a&gt; enthält vollständige Dokumentation, und die &lt;a href="https://devblogs.microsoft.com/ifdef-windows/windows-app-development-cli-v0-3-new-run-and-ui-commands-plus-dotnet-run-support-for-packaged-apps/"&gt;ursprüngliche Ankündigung&lt;/a&gt; hat alle Details.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.117: Agents Bekommen Eigene Git-Branches und Ich Bin Voll Dabei</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/</guid><description>VS Code 1.117 bringt Worktree-Isolation für Agent-Sessions, persistenten Autopilot-Modus und Subagent-Support. Der agentische Coding-Workflow wird jetzt richtig real.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Die Grenze zwischen „KI-Assistent&amp;quot; und „KI-Teamkollege&amp;quot; wird immer dünner. VS Code 1.117 ist gerade erschienen und die &lt;a href="https://code.visualstudio.com/updates/v1_117"&gt;vollständigen Release Notes&lt;/a&gt; sind vollgepackt, aber die Geschichte ist klar: Agents werden zu erstklassigen Bürgern in deinem Entwicklungs-Workflow.&lt;/p&gt;
&lt;p&gt;Hier ist, was wirklich zählt.&lt;/p&gt;
&lt;h2 id="autopilot-modus-merkt-sich-endlich-deine-einstellung"&gt;Autopilot-Modus merkt sich endlich deine Einstellung&lt;/h2&gt;
&lt;p&gt;Bisher musstest du Autopilot bei jeder neuen Session neu aktivieren. Nervig. Jetzt bleibt dein Berechtigungsmodus über Sessions hinweg bestehen, und du kannst den Standard konfigurieren.&lt;/p&gt;
&lt;p&gt;Der Agent Host unterstützt drei Session-Konfigurationen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt; — Tools fragen vor der Ausführung nach Bestätigung&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bypass&lt;/strong&gt; — genehmigt alles automatisch&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autopilot&lt;/strong&gt; — vollständig autonom, beantwortet eigene Fragen und macht weiter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wenn du ein neues .NET-Projekt mit Migrationen, Docker und CI aufbaust — stell es einmal auf Autopilot und vergiss es. Diese Einstellung bleibt.&lt;/p&gt;
&lt;h2 id="worktree--und-git-isolation-für-agent-sessions"&gt;Worktree- und Git-Isolation für Agent-Sessions&lt;/h2&gt;
&lt;p&gt;Das ist der große Wurf. Agent-Sessions unterstützen jetzt volle Worktree- und Git-Isolation. Das bedeutet: Wenn ein Agent an einer Aufgabe arbeitet, bekommt er seinen eigenen Branch und sein eigenes Arbeitsverzeichnis. Dein Hauptbranch bleibt unangetastet.&lt;/p&gt;
&lt;p&gt;Noch besser — Copilot CLI generiert aussagekräftige Branch-Namen für diese Worktree-Sessions. Kein &lt;code&gt;agent-session-abc123&lt;/code&gt; mehr. Du bekommst etwas, das tatsächlich beschreibt, was der Agent tut.&lt;/p&gt;
&lt;p&gt;Für .NET-Entwickler, die mehrere Feature-Branches verwalten oder Bugs fixen, während eine lange Scaffolding-Aufgabe läuft, ist das ein Game Changer. Du kannst einen Agent deine API-Controller in einem Worktree aufbauen lassen, während du ein Problem in der Service-Schicht in einem anderen debuggst. Keine Konflikte. Kein Stashing. Kein Chaos.&lt;/p&gt;
&lt;h2 id="subagents-und-agent-teams"&gt;Subagents und Agent-Teams&lt;/h2&gt;
&lt;p&gt;Das Agent Host Protocol unterstützt jetzt Subagents. Ein Agent kann andere Agents starten, um Teile einer Aufgabe zu übernehmen. Stell dir das als Delegieren vor — dein Haupt-Agent koordiniert, und spezialisierte Agents kümmern sich um die einzelnen Teile.&lt;/p&gt;
&lt;p&gt;Das ist noch früh, aber das Potenzial für .NET-Workflows ist offensichtlich. Stell dir vor, ein Agent kümmert sich um deine EF Core-Migrationen, während ein anderer deine Integrationstests einrichtet. Wir sind noch nicht ganz da, aber dass der Protokoll-Support jetzt landet, bedeutet, dass die Tools schnell folgen werden.&lt;/p&gt;
&lt;h2 id="terminal-output-wird-automatisch-mitgeliefert-wenn-agents-input-senden"&gt;Terminal-Output wird automatisch mitgeliefert, wenn Agents Input senden&lt;/h2&gt;
&lt;p&gt;Klein aber bedeutsam. Wenn ein Agent Input an das Terminal sendet, wird der Terminal-Output jetzt automatisch in den Kontext einbezogen. Vorher musste der Agent eine extra Runde drehen, nur um zu lesen, was passiert ist.&lt;/p&gt;
&lt;p&gt;Wenn du jemals einem Agent zugesehen hast, wie er &lt;code&gt;dotnet build&lt;/code&gt; ausführt, scheitert und dann noch einen Roundtrip braucht, nur um den Fehler zu sehen — diese Reibung ist weg. Er sieht den Output sofort und reagiert.&lt;/p&gt;
&lt;h2 id="die-agents-app-auf-macos-aktualisiert-sich-selbst"&gt;Die Agents-App auf macOS aktualisiert sich selbst&lt;/h2&gt;
&lt;p&gt;Die eigenständige Agents-App auf macOS aktualisiert sich jetzt selbst. Kein manuelles Herunterladen neuer Versionen mehr. Sie bleibt einfach aktuell.&lt;/p&gt;
&lt;h2 id="die-kleineren-dinge-die-es-wert-sind-zu-wissen"&gt;Die kleineren Dinge, die es wert sind zu wissen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;package.json-Hovers&lt;/strong&gt; zeigen jetzt sowohl die installierte Version als auch die neueste verfügbare. Nützlich, wenn du npm-Tooling neben deinen .NET-Projekten verwaltest.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bilder in JSDoc-Kommentaren&lt;/strong&gt; werden in Hovers und Completions korrekt gerendert.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot CLI-Sessions&lt;/strong&gt; zeigen jetzt an, ob sie von VS Code oder extern erstellt wurden — praktisch, wenn du zwischen Terminals springst.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot CLI, Claude Code und Gemini CLI&lt;/strong&gt; werden als Shell-Typen erkannt. Der Editor weiß, was du ausführst.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="das-fazit"&gt;Das Fazit&lt;/h2&gt;
&lt;p&gt;VS Code 1.117 ist kein auffälliger Feature-Dump. Es ist Infrastruktur. Worktree-Isolation, persistente Berechtigungen, Subagent-Protokolle — das sind die Bausteine für einen Workflow, in dem Agents echte, parallele Aufgaben erledigen, ohne deinen Code zu beeinträchtigen.&lt;/p&gt;
&lt;p&gt;Wenn du mit .NET baust und dich noch nicht auf den agentischen Workflow eingelassen hast, ehrlich gesagt, jetzt ist der richtige Zeitpunkt.&lt;/p&gt;</content:encoded></item><item><title>Docker Sandbox lässt Copilot-Agenten euren Code refactoren — ohne Risiko für eure Maschine</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</guid><description>Docker Sandbox gibt GitHub Copilot-Agenten eine sichere MicroVM zum freien Refactoring — keine Berechtigungsabfragen, kein Risiko für euren Host. Hier erfahrt ihr, warum das alles verändert für großangelegte .NET-Modernisierung.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wer Copilots Agent-Modus für mehr als kleine Änderungen genutzt hat, kennt den Schmerz. Jeder Dateischreibvorgang, jeder Terminal-Befehl — wieder eine Berechtigungsabfrage. Jetzt stellt euch das mal bei 50 Projekten vor. Macht keinen Spaß.&lt;/p&gt;
&lt;p&gt;Das Azure-Team hat gerade einen Beitrag über &lt;a href="https://devblogs.microsoft.com/all-things-azure/best-of-both-worlds-for-agentic-refactoring-github-copilot-microvms-via-docker-sandbox/"&gt;Docker Sandbox für GitHub Copilot-Agenten&lt;/a&gt; veröffentlicht, und ehrlich gesagt ist das eine der praktischsten Verbesserungen für agentisches Tooling, die ich gesehen habe. Es nutzt MicroVMs, um Copilot eine vollständig isolierte Umgebung zu geben, in der er frei arbeiten kann — Pakete installieren, Builds ausführen, Tests laufen lassen — ohne euer Host-System zu berühren.&lt;/p&gt;
&lt;h2 id="was-docker-sandbox-tatsächlich-bietet"&gt;Was Docker Sandbox tatsächlich bietet&lt;/h2&gt;
&lt;p&gt;Die Kernidee ist simpel: Eine leichtgewichtige MicroVM mit einer vollständigen Linux-Umgebung hochfahren, euren Workspace hineinsynchronisieren und den Copilot-Agenten frei darin arbeiten lassen. Wenn er fertig ist, werden die Änderungen zurücksynchronisiert.&lt;/p&gt;
&lt;p&gt;Das macht es zu mehr als nur &amp;ldquo;Sachen in einem Container ausführen&amp;rdquo;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bidirektionale Workspace-Synchronisation&lt;/strong&gt;, die absolute Pfade beibehält. Eure Projektstruktur sieht innerhalb der Sandbox identisch aus. Keine pfadbedingten Build-Fehler.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privater Docker-Daemon&lt;/strong&gt; innerhalb der MicroVM. Der Agent kann Container bauen und ausführen, ohne jemals den Docker-Socket eures Hosts zu mounten. Das ist ein großer Sicherheitsgewinn.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP/HTTPS-Filterproxys&lt;/strong&gt;, die kontrollieren, was der Agent im Netzwerk erreichen kann. Ihr entscheidet, welche Registries und Endpoints erlaubt sind. Supply-Chain-Angriffe durch ein fragwürdiges &lt;code&gt;npm install&lt;/code&gt; in der Sandbox? Geblockt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;YOLO-Modus&lt;/strong&gt; — ja, so nennen sie das wirklich. Der Agent läuft ohne Berechtigungsabfragen, weil er buchstäblich euren Host nicht beschädigen kann. Jede destruktive Aktion ist eingedämmt.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="warum-net-entwickler-aufhorchen-sollten"&gt;Warum .NET-Entwickler aufhorchen sollten&lt;/h2&gt;
&lt;p&gt;Denkt an die Modernisierungsarbeit, vor der so viele Teams gerade stehen. Ihr habt eine .NET-Framework-Solution mit 30 Projekten und müsst auf .NET 9 umsteigen. Das sind hunderte Dateiänderungen — Projektdateien, Namespace-Updates, API-Ersetzungen, NuGet-Migrationen.&lt;/p&gt;
&lt;p&gt;Mit Docker Sandbox könnt ihr einen Copilot-Agenten auf ein Projekt ansetzen, ihn innerhalb der MicroVM frei refactoren lassen, &lt;code&gt;dotnet build&lt;/code&gt; und &lt;code&gt;dotnet test&lt;/code&gt; zur Validierung ausführen und nur die Änderungen übernehmen, die tatsächlich funktionieren. Kein Risiko, dass er versehentlich eure lokale Entwicklungsumgebung zerschießt, während er experimentiert.&lt;/p&gt;
&lt;p&gt;Der Beitrag beschreibt auch den Einsatz einer &lt;strong&gt;Flotte paralleler Agenten&lt;/strong&gt; — jeder in seiner eigenen Sandbox — die gleichzeitig verschiedene Projekte bearbeiten. Für große .NET-Solutions oder Microservice-Architekturen ist das eine massive Zeitersparnis. Ein Agent pro Service, alle isoliert laufend, alle unabhängig validiert.&lt;/p&gt;
&lt;h2 id="der-sicherheitsaspekt-zählt"&gt;Der Sicherheitsaspekt zählt&lt;/h2&gt;
&lt;p&gt;Hier ist der Punkt, den die meisten übersehen: Wenn ihr einem KI-Agenten erlaubt, beliebige Befehle auszuführen, vertraut ihr ihm eure gesamte Maschine an. Docker Sandbox dreht dieses Modell um. Der Agent bekommt volle Autonomie in einer Wegwerfumgebung. Der Netzwerk-Proxy stellt sicher, dass er nur von genehmigten Quellen ziehen kann. Euer Host-Dateisystem, Docker-Daemon und eure Credentials bleiben unangetastet.&lt;/p&gt;
&lt;p&gt;Für Teams mit Compliance-Anforderungen — und das sind die meisten .NET-Unternehmen — ist das der Unterschied zwischen &amp;ldquo;Wir können agentische KI nicht nutzen&amp;rdquo; und &amp;ldquo;Wir können sie sicher einsetzen.&amp;rdquo;&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Docker Sandbox löst die fundamentale Spannung des agentischen Programmierens: Agenten brauchen Freiheit, um nützlich zu sein, aber Freiheit auf eurer Host-Maschine ist gefährlich. MicroVMs geben euch beides. Wenn ihr großangelegtes .NET-Refactoring oder eine Modernisierung plant, lohnt es sich, das jetzt einzurichten. Die Kombination aus Copilots Code-Intelligenz mit einer sicheren Ausführungsumgebung ist genau das, worauf Produktionsteams gewartet haben.&lt;/p&gt;</content:encoded></item><item><title>Hör auf, dein Terminal zu babysitzen: Aspires Detached Mode verändert den Workflow</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/</guid><description>Aspire 13.2 lässt dich deinen AppHost im Hintergrund ausführen und gibt dir dein Terminal zurück. Kombiniert mit neuen CLI-Befehlen und Agent-Unterstützung ist das wichtiger als es klingt.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jedes Mal, wenn du einen Aspire AppHost startest, ist dein Terminal weg. Gesperrt. Belegt, bis du Ctrl+C drückst. Musst du schnell einen Befehl ausführen? Öffne einen neuen Tab. Willst du Logs prüfen? Noch ein Tab. Es ist eine kleine Reibung, die sich schnell summiert.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 behebt das. James Newton-King hat &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;alle Details aufgeschrieben&lt;/a&gt;, und ehrlich gesagt ist das eines dieser Features, das sofort verändert, wie man arbeitet.&lt;/p&gt;
&lt;h2 id="detached-mode-ein-befehl-terminal-zurück"&gt;Detached Mode: ein Befehl, Terminal zurück&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das ist die Kurzform für &lt;code&gt;aspire run --detach&lt;/code&gt;. Dein AppHost startet im Hintergrund und du bekommst dein Terminal sofort zurück. Keine Extra-Tabs. Kein Terminal-Multiplexer. Einfach dein Prompt, bereit loszulegen.&lt;/p&gt;
&lt;h2 id="laufende-prozesse-verwalten"&gt;Laufende Prozesse verwalten&lt;/h2&gt;
&lt;p&gt;Die Sache ist — im Hintergrund laufen lassen ist nur nützlich, wenn man auch verwalten kann, was da draußen läuft. Aspire 13.2 liefert einen vollständigen Satz an CLI-Befehlen genau dafür:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# List all running AppHosts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire ps
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Inspect the state of a specific AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire describe
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stream logs from a running AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire logs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stop a specific AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire stop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das macht die Aspire CLI zu einem echten Prozessmanager. Du kannst mehrere AppHosts starten, ihren Status prüfen, ihre Logs verfolgen und sie herunterfahren — alles aus einer einzigen Terminal-Sitzung.&lt;/p&gt;
&lt;h2 id="kombiniere-es-mit-dem-isolierten-modus"&gt;Kombiniere es mit dem isolierten Modus&lt;/h2&gt;
&lt;p&gt;Der Detached Mode passt natürlich zum isolierten Modus. Willst du zwei Instanzen desselben Projekts im Hintergrund ohne Port-Konflikte laufen lassen?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire start --isolated
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire start --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Jede bekommt zufällige Ports, separate Secrets und ihren eigenen Lebenszyklus. Verwende &lt;code&gt;aspire ps&lt;/code&gt;, um beide zu sehen, &lt;code&gt;aspire stop&lt;/code&gt;, um den zu beenden, den du nicht mehr brauchst.&lt;/p&gt;
&lt;h2 id="warum-das-für-coding-agents-riesig-ist"&gt;Warum das für Coding-Agents riesig ist&lt;/h2&gt;
&lt;p&gt;Hier wird es richtig interessant. Ein Coding-Agent, der in deinem Terminal arbeitet, kann jetzt:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Die App mit &lt;code&gt;aspire start&lt;/code&gt; starten&lt;/li&gt;
&lt;li&gt;Ihren Zustand mit &lt;code&gt;aspire describe&lt;/code&gt; abfragen&lt;/li&gt;
&lt;li&gt;Logs mit &lt;code&gt;aspire logs&lt;/code&gt; prüfen, um Probleme zu diagnostizieren&lt;/li&gt;
&lt;li&gt;Sie mit &lt;code&gt;aspire stop&lt;/code&gt; beenden, wenn er fertig ist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alles ohne die Terminal-Sitzung zu verlieren. Vor dem Detached Mode hätte sich ein Agent, der deinen AppHost ausführt, aus seinem eigenen Terminal ausgesperrt. Jetzt kann er starten, beobachten, iterieren und aufräumen — genau so, wie man es von einem autonomen Agenten erwartet.&lt;/p&gt;
&lt;p&gt;Das Aspire-Team hat hier bewusst investiert. &lt;code&gt;aspire agent init&lt;/code&gt; richtet eine Aspire-Skill-Datei ein, die Agents diese Befehle beibringt. So können Tools wie Copilots Coding-Agent deine Aspire-Workloads direkt verwalten.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Der Detached Mode ist ein Workflow-Upgrade, das sich als einfaches Flag tarnt. Du hörst auf, zwischen Terminals zu wechseln, Agents blockieren sich nicht mehr selbst, und die neuen CLI-Befehle geben dir echte Sichtbarkeit über das, was läuft. Es ist praktisch, es ist sauber, und es macht den täglichen Entwicklungszyklus spürbar flüssiger.&lt;/p&gt;
&lt;p&gt;Lies den &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;vollständigen Beitrag&lt;/a&gt; für alle Details und hole dir Aspire 13.2 mit &lt;code&gt;aspire update --self&lt;/code&gt;.&lt;/p&gt;</content:encoded></item><item><title>Azure MCP Tools sind jetzt in Visual Studio 2022 integriert — Keine Erweiterung erforderlich</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/</guid><description>Azure MCP Tools werden als Teil der Azure-Entwicklungsworkload in Visual Studio 2022 ausgeliefert. Über 230 Tools, 45 Azure-Dienste, keine Erweiterungen zu installieren.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wenn du die Azure MCP Tools in Visual Studio über die separate Erweiterung benutzt hast, kennst du das Spiel — VSIX installieren, neustarten, hoffen dass nichts kaputtgeht, Versionskonflikte managen. Diese Reibung ist vorbei.&lt;/p&gt;
&lt;p&gt;Yun Jung Choi hat &lt;a href="https://devblogs.microsoft.com/visualstudio/azure-mcp-tools-now-ship-built-into-visual-studio-2022-no-extension-required/"&gt;angekündigt&lt;/a&gt;, dass Azure MCP Tools jetzt direkt als Teil der Azure-Entwicklungsworkload in Visual Studio 2022 ausgeliefert werden. Keine Erweiterung. Kein VSIX. Kein Neustart-Tanz.&lt;/p&gt;
&lt;h2 id="was-das-konkret-bedeutet"&gt;Was das konkret bedeutet&lt;/h2&gt;
&lt;p&gt;Ab Visual Studio 2022 Version 17.14.30 ist der Azure MCP Server in der Azure-Entwicklungsworkload enthalten. Wenn du diese Workload bereits installiert hast, musst du ihn nur in GitHub Copilot Chat aktivieren und fertig.&lt;/p&gt;
&lt;p&gt;Über 230 Tools für 45 Azure-Dienste — direkt aus dem Chat-Fenster zugänglich. Storage Accounts auflisten, eine ASP.NET Core App deployen, App Service Probleme diagnostizieren, Log Analytics abfragen — alles ohne einen Browser-Tab zu öffnen.&lt;/p&gt;
&lt;h2 id="warum-das-wichtiger-ist-als-es-klingt"&gt;Warum das wichtiger ist als es klingt&lt;/h2&gt;
&lt;p&gt;Die Sache mit Entwickler-Tooling ist: Jeder zusätzliche Schritt ist Reibung, und Reibung tötet die Akzeptanz. MCP als separate Erweiterung bedeutete Versionskonflikte, Installationsfehler und eine weitere Sache, die aktuell gehalten werden musste. Die Integration in die Workload bedeutet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ein einziger Update-Pfad&lt;/strong&gt; über den Visual Studio Installer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kein Versionsabweichung&lt;/strong&gt; zwischen der Erweiterung und der IDE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Immer aktuell&lt;/strong&gt; — der MCP Server wird mit den regulären VS-Releases aktualisiert&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Für Teams, die auf Azure standardisieren, ist das ein großer Gewinn. Du installierst die Workload einmal, aktivierst die Tools, und sie sind in jeder Sitzung verfügbar.&lt;/p&gt;
&lt;h2 id="was-du-damit-machen-kannst"&gt;Was du damit machen kannst&lt;/h2&gt;
&lt;p&gt;Die Tools decken den gesamten Entwicklungslebenszyklus über Copilot Chat ab:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Lernen&lt;/strong&gt; — frage nach Azure-Diensten, Best Practices, Architekturmustern&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Entwerfen &amp;amp; Entwickeln&lt;/strong&gt; — erhalte Service-Empfehlungen, konfiguriere App-Code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deployen&lt;/strong&gt; — provisioniere Ressourcen und deploye direkt aus der IDE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fehlerbehebung&lt;/strong&gt; — frage Logs ab, prüfe den Ressourcenzustand, diagnostiziere Produktionsprobleme&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ein schnelles Beispiel — tippe das in Copilot Chat:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;List my storage accounts in my current subscription.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Copilot ruft die Azure MCP Tools im Hintergrund auf, fragt deine Subscriptions ab und liefert eine formatierte Liste mit Namen, Standorten und SKUs. Kein Portal nötig.&lt;/p&gt;
&lt;h2 id="so-aktivierst-du-es"&gt;So aktivierst du es&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Update auf Visual Studio 2022 &lt;strong&gt;17.14.30&lt;/strong&gt; oder höher&lt;/li&gt;
&lt;li&gt;Stelle sicher, dass die &lt;strong&gt;Azure development&lt;/strong&gt; Workload installiert ist&lt;/li&gt;
&lt;li&gt;Öffne GitHub Copilot Chat&lt;/li&gt;
&lt;li&gt;Klicke auf den &lt;strong&gt;Select tools&lt;/strong&gt; Button (das Schraubenschlüssel-Symbol)&lt;/li&gt;
&lt;li&gt;Schalte &lt;strong&gt;Azure MCP Server&lt;/strong&gt; ein&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Das war&amp;rsquo;s. Es bleibt über Sitzungen hinweg aktiviert.&lt;/p&gt;
&lt;h2 id="ein-hinweis"&gt;Ein Hinweis&lt;/h2&gt;
&lt;p&gt;Die Tools sind standardmäßig deaktiviert — du musst sie manuell einschalten. Und VS 2026-spezifische Tools sind in VS 2022 nicht verfügbar. Die Verfügbarkeit der Tools hängt auch von deinen Azure-Subscription-Berechtigungen ab, genau wie im Portal.&lt;/p&gt;
&lt;h2 id="das-große-bild"&gt;Das große Bild&lt;/h2&gt;
&lt;p&gt;Das ist Teil eines klaren Trends: MCP wird zum Standard, um Cloud-Tools in Entwickler-IDEs verfügbar zu machen. Wir haben bereits das &lt;a href="https://devblogs.microsoft.com/azure-sdk/announcing-azure-mcp-server-2-0-stable-release/"&gt;stabile Release von Azure MCP Server 2.0&lt;/a&gt; und MCP-Integrationen in VS Code und anderen Editoren gesehen. Die Integration in Visual Studios Workload-System ist die natürliche Weiterentwicklung.&lt;/p&gt;
&lt;p&gt;Für uns .NET-Entwickler, die in Visual Studio leben, entfällt damit ein weiterer Grund, zum Azure Portal zu wechseln. Und ehrlich gesagt, je weniger Tab-Wechsel, desto besser.&lt;/p&gt;</content:encoded></item><item><title>azd update — Ein Befehl für alle deine Paketmanager</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-update-universal-upgrade-command/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-update-universal-upgrade-command/</guid><description>Die Azure Developer CLI hat jetzt einen universellen Update-Befehl, der unabhängig von der Installationsmethode funktioniert — winget, Homebrew, Chocolatey oder Installationsskript.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-update-universal-upgrade-command/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kennst du diese Meldung „Eine neue Version von azd ist verfügbar&amp;quot;, die alle paar Wochen auftaucht? Die, die du wegklickst, weil du dich nicht mehr erinnerst, ob du &lt;code&gt;azd&lt;/code&gt; über winget, Homebrew oder dieses curl-Skript installiert hast, das du vor sechs Monaten ausgeführt hast? Ja, das ist jetzt endlich gelöst.&lt;/p&gt;
&lt;p&gt;Microsoft hat &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;&lt;code&gt;azd update&lt;/code&gt;&lt;/a&gt; veröffentlicht — ein einziger Befehl, der die Azure Developer CLI auf die neueste Version aktualisiert, unabhängig davon, wie du sie ursprünglich installiert hast. Windows, macOS, Linux — egal. Ein Befehl.&lt;/p&gt;
&lt;h2 id="so-funktionierts"&gt;So funktioniert&amp;rsquo;s&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das war&amp;rsquo;s. Wenn du frühen Zugang zu neuen Features möchtest, kannst du auf den täglichen Insiders-Build wechseln:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update --channel daily
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update --channel stable
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Der Befehl erkennt deine aktuelle Installationsmethode und nutzt im Hintergrund den passenden Update-Mechanismus. Kein „Moment, habe ich auf diesem Rechner winget oder choco benutzt?&amp;quot; mehr.&lt;/p&gt;
&lt;h2 id="der-kleine-haken"&gt;Der kleine Haken&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd update&lt;/code&gt; ist ab Version 1.23.x verfügbar. Wenn du eine ältere Version hast, musst du ein letztes manuelles Update mit deiner ursprünglichen Installationsmethode durchführen. Danach übernimmt &lt;code&gt;azd update&lt;/code&gt; alles Weitere.&lt;/p&gt;
&lt;p&gt;Prüfe deine aktuelle Version mit &lt;code&gt;azd version&lt;/code&gt;. Falls du eine Neuinstallation brauchst, hilft dir die &lt;a href="https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd"&gt;Installationsdokumentation&lt;/a&gt; weiter.&lt;/p&gt;
&lt;h2 id="warum-das-wichtig-ist"&gt;Warum das wichtig ist&lt;/h2&gt;
&lt;p&gt;Es ist eine kleine Verbesserung der Lebensqualität, aber für diejenigen von uns, die &lt;code&gt;azd&lt;/code&gt; täglich zum Deployen von KI-Agenten und Aspire-Apps auf Azure nutzen, bedeutet auf dem neuesten Stand zu sein weniger „dieser Bug war schon in der letzten Version behoben&amp;quot;-Momente. Eine Sache weniger, über die man nachdenken muss.&lt;/p&gt;
&lt;p&gt;Lies die &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;vollständige Ankündigung&lt;/a&gt; und Jon Gallants &lt;a href="https://blog.jongallant.com/2026/04/azd-update"&gt;tiefergehende Analyse&lt;/a&gt; für mehr Kontext.&lt;/p&gt;</content:encoded></item><item><title>.NET Aspire 13.2 Will der Beste Freund Deines KI-Agenten Sein</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/</guid><description>Aspire 13.2 setzt voll auf agentische Entwicklung — strukturierte CLI-Ausgabe, isolierte Ausführungen, selbstheilende Umgebungen und vollständige OpenTelemetry-Daten, damit deine KI-Agenten deine Apps tatsächlich bauen, ausführen und beobachten können.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kennst du den Moment, wenn dein KI-Agent soliden Code schreibt, du begeistert bist, und dann alles zusammenbricht, wenn er versucht, das Ding tatsächlich &lt;em&gt;auszuführen&lt;/em&gt;? Port-Konflikte, Geister-Prozesse, falsche Umgebungsvariablen — plötzlich verbrennt dein Agent Tokens beim Troubleshooting von Startproblemen statt Features zu bauen.&lt;/p&gt;
&lt;p&gt;Das Aspire-Team hat gerade einen &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;wirklich durchdachten Post&lt;/a&gt; über genau dieses Problem veröffentlicht, und ihre Antwort ist überzeugend: Aspire 13.2 ist nicht nur für Menschen konzipiert, sondern auch für KI-Agenten.&lt;/p&gt;
&lt;h2 id="das-problem-ist-real"&gt;Das Problem ist real&lt;/h2&gt;
&lt;p&gt;KI-Agenten sind unglaublich gut im Code schreiben. Aber eine funktionierende Full-Stack-App zu liefern, erfordert viel mehr als nur Dateien zu generieren. Du musst Services in der richtigen Reihenfolge starten, Ports verwalten, Umgebungsvariablen setzen, Datenbanken verbinden und Feedback bekommen, wenn etwas kaputt geht. Im Moment handhaben die meisten Agenten all das durch Trial-and-Error — Befehle ausführen, Fehlerausgaben lesen, es nochmal versuchen.&lt;/p&gt;
&lt;p&gt;Wir packen Markdown-Anleitungen, Custom Skills und Prompts drauf, um sie zu leiten, aber die sind unvorhersehbar, können nicht kompiliert werden und kosten Tokens allein zum Parsen. Das Aspire-Team hat den Kern erkannt: Agenten brauchen &lt;strong&gt;Compiler und strukturierte APIs&lt;/strong&gt;, nicht mehr Markdown.&lt;/p&gt;
&lt;h2 id="aspire-als-agenten-infrastruktur"&gt;Aspire als Agenten-Infrastruktur&lt;/h2&gt;
&lt;p&gt;Das bringt Aspire 13.2 für die agentische Entwicklung mit:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dein gesamter Stack in typisiertem Code.&lt;/strong&gt; Der AppHost definiert deine komplette Topologie — API, Frontend, Datenbank, Cache — in kompilierbarem TypeScript oder C#:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createBuilder&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="kr"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;./.modules/aspire.js&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;createBuilder&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;postgres&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addPostgres&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pg&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;addDatabase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;catalog&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cache&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addRedis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cache&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addNodeApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;api&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./api&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;src/index.ts&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withHttpEndpoint&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PORT&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;postgres&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addViteApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;frontend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./frontend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;waitFor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;build&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ein Agent kann das lesen, um die App-Topologie zu verstehen, Ressourcen hinzuzufügen, Verbindungen zu verkabeln und &lt;em&gt;zum Verifizieren zu kompilieren&lt;/em&gt;. Der Compiler sagt ihm sofort, wenn etwas falsch ist. Kein Raten, kein Trial-and-Error mit Konfigurationsdateien.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ein Befehl um sie alle zu starten.&lt;/strong&gt; Statt dass Agenten &lt;code&gt;docker compose up&lt;/code&gt;, &lt;code&gt;npm run dev&lt;/code&gt; und Datenbank-Startskripte jonglieren, ist alles einfach &lt;code&gt;aspire start&lt;/code&gt;. Alle Ressourcen starten in der richtigen Reihenfolge, auf den richtigen Ports, mit der richtigen Konfiguration. Langlebige Prozesse blockieren den Agenten auch nicht — Aspire verwaltet sie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Isolierter Modus für parallele Agenten.&lt;/strong&gt; Mit &lt;code&gt;--isolated&lt;/code&gt; bekommt jeder Aspire-Lauf eigene zufällige Ports und separate User Secrets. Mehrere Agenten arbeiten über Git Worktrees hinweg? Sie kollidieren nicht. Das ist riesig für Tools wie VS Codes Background-Agenten, die parallele Umgebungen aufspannen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agenten-Augen durch Telemetrie.&lt;/strong&gt; Hier wird es richtig mächtig. Die Aspire CLI stellt während der Entwicklung volle OpenTelemetry-Daten bereit — Traces, Metriken, strukturierte Logs. Dein Agent liest nicht einfach Konsolenausgaben und hofft das Beste. Er kann eine fehlgeschlagene Anfrage über Services hinweg tracen, langsame Endpunkte profilen und genau identifizieren, wo Dinge kaputtgehen. Das ist Observability auf Produktionsniveau in der Entwicklungsschleife.&lt;/p&gt;
&lt;h2 id="die-bowlingbahn-bumper-analogie"&gt;Die Bowlingbahn-Bumper-Analogie&lt;/h2&gt;
&lt;p&gt;Das Aspire-Team nutzt eine großartige Analogie: Denk an Aspire als Bowlingbahn-Bumper für KI-Agenten. Wenn der Agent nicht perfekt ist (und das wird er nicht sein), verhindern die Bumper, dass er Rinnenschüsse wirft. Die Stack-Definition verhindert Fehlkonfiguration, der Compiler fängt Fehler, die CLI übernimmt das Prozessmanagement, und die Telemetrie liefert die Feedback-Schleife.&lt;/p&gt;
&lt;p&gt;Kombiniere das mit etwas wie Playwright CLI, und dein Agent kann deine App tatsächlich &lt;em&gt;benutzen&lt;/em&gt; — durch Flows klicken, das DOM prüfen, kaputte Dinge in der Telemetrie sehen, den Code fixen, neustarten und erneut testen. Bauen, ausführen, beobachten, fixen. Das ist die autonome Entwicklungsschleife, die wir verfolgt haben.&lt;/p&gt;
&lt;h2 id="erste-schritte"&gt;Erste Schritte&lt;/h2&gt;
&lt;p&gt;Neu bei Aspire? Installiere die CLI von &lt;a href="https://get.aspire.dev"&gt;get.aspire.dev&lt;/a&gt; und folge dem &lt;a href="https://aspire.dev/get-started/first-app"&gt;Getting-Started-Guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nutzt du Aspire bereits? Führe &lt;code&gt;aspire update --self&lt;/code&gt; aus, um Version 13.2 zu bekommen, und zeige dann deinem Lieblings-Coding-Agenten dein Repo. Du wirst überrascht sein, wie viel weiter er mit Aspires Leitplanken kommt.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Aspire 13.2 ist nicht mehr nur ein Framework für verteilte Apps — es wird zur essentiellen Agenten-Infrastruktur. Strukturierte Stack-Definitionen, Ein-Befehl-Start, isolierte parallele Ausführungen und Echtzeit-Telemetrie geben KI-Agenten genau das, was sie brauchen, um vom Code-Schreiben zum App-Liefern zu kommen.&lt;/p&gt;
&lt;p&gt;Lies den &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;vollständigen Post&lt;/a&gt; vom Aspire-Team für alle Details und Demo-Videos.&lt;/p&gt;</content:encoded></item><item><title>Aspires Isolierter Modus Behebt den Port-Konflikt-Albtraum für Parallele Entwicklung</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/</guid><description>Aspire 13.2 führt den --isolated Modus ein: zufällige Ports, getrennte Secrets und null Kollisionen beim gleichzeitigen Ausführen mehrerer Instanzen desselben AppHosts. Perfekt für KI-Agenten, Worktrees und parallele Workflows.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wenn du jemals versucht hast, zwei Instanzen desselben Projekts gleichzeitig zu starten, kennst du den Schmerz. Port 8080 wird bereits verwendet. Port 17370 ist belegt. Etwas killen, neustarten, Umgebungsvariablen jonglieren — ein echter Produktivitätskiller.&lt;/p&gt;
&lt;p&gt;Dieses Problem wird schlimmer, nicht besser. KI-Agenten erstellen Git Worktrees um unabhängig zu arbeiten. Hintergrund-Agenten starten separate Umgebungen. Entwickler checken dasselbe Repo zweimal für Feature-Branches aus. Jedes dieser Szenarien läuft gegen dieselbe Wand: Zwei Instanzen derselben App kämpfen um dieselben Ports.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 behebt das mit einem einzigen Flag. James Newton-King vom Aspire-Team hat &lt;a href="https://devblogs.microsoft.com/aspire/aspire-isolated-mode-parallel-development/"&gt;alle Details aufgeschrieben&lt;/a&gt;, und es ist eines dieser „warum hatten wir das nicht schon früher&amp;quot;-Features.&lt;/p&gt;
&lt;h2 id="die-lösung---isolated"&gt;Die Lösung: &lt;code&gt;--isolated&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das war&amp;rsquo;s. Jeder Lauf bekommt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zufällige Ports&lt;/strong&gt; — keine Kollisionen mehr zwischen Instanzen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Isolierte User Secrets&lt;/strong&gt; — Connection Strings und API Keys bleiben pro Instanz getrennt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Keine manuelle Port-Neuzuweisung. Kein Umgebungsvariablen-Jonglieren. Jeder Lauf bekommt automatisch eine frische, kollisionsfreie Umgebung.&lt;/p&gt;
&lt;h2 id="reale-szenarien-in-denen-das-glänzt"&gt;Reale Szenarien, in denen das glänzt&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Mehrere Checkouts.&lt;/strong&gt; Du hast einen Feature-Branch in einem Verzeichnis und einen Bugfix in einem anderen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Terminal 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/projects/my-app-feature
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Terminal 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/projects/my-app-bugfix
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Beide laufen ohne Konflikte. Das Dashboard zeigt, was wo läuft.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hintergrund-Agenten in VS Code.&lt;/strong&gt; Wenn der Hintergrund-Agent von Copilot Chat einen Git Worktree erstellt um unabhängig an deinem Code zu arbeiten, muss er möglicherweise deinen Aspire AppHost starten. Ohne &lt;code&gt;--isolated&lt;/code&gt; ist das ein Port-Konflikt mit deinem primären Worktree. Mit ihm funktionieren einfach beide Instanzen.&lt;/p&gt;
&lt;p&gt;Der Aspire-Skill, der mit &lt;code&gt;aspire agent init&lt;/code&gt; mitkommt, weist Agenten automatisch an, &lt;code&gt;--isolated&lt;/code&gt; zu verwenden, wenn sie in Worktrees arbeiten. So sollte Copilots Hintergrund-Agent das von Haus aus richtig handhaben.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Integrationstests parallel zur Entwicklung.&lt;/strong&gt; Tests gegen einen laufenden AppHost ausführen während du weiter Features baust? Der isolierte Modus gibt jedem Kontext eigene Ports und Konfiguration.&lt;/p&gt;
&lt;h2 id="wie-es-unter-der-haube-funktioniert"&gt;Wie es unter der Haube funktioniert&lt;/h2&gt;
&lt;p&gt;Wenn du &lt;code&gt;--isolated&lt;/code&gt; übergibst, generiert die CLI eine eindeutige Instanz-ID für den Lauf. Das treibt zwei Verhaltensweisen:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Port-Randomisierung&lt;/strong&gt; — statt sich an vorhersagbare Ports aus deiner AppHost-Konfiguration zu binden, wählt der isolierte Modus zufällige verfügbare Ports für alles — das Dashboard, Service-Endpoints, alles. Service Discovery passt sich automatisch an, sodass sich Services gegenseitig finden, unabhängig davon, auf welchen Ports sie landen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Secret-Isolation&lt;/strong&gt; — jeder isolierte Lauf bekommt seinen eigenen User-Secrets-Speicher, der durch die Instanz-ID identifiziert wird. Connection Strings und API Keys eines Laufs lecken nicht in einen anderen.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Dein Code braucht keine Änderungen. Aspires Service Discovery löst Endpoints zur Laufzeit auf, sodass alles korrekt verbunden wird, unabhängig von der Port-Zuweisung.&lt;/p&gt;
&lt;h2 id="wann-man-es-verwenden-sollte"&gt;Wann man es verwenden sollte&lt;/h2&gt;
&lt;p&gt;Verwende &lt;code&gt;--isolated&lt;/code&gt;, wenn du mehrere Instanzen desselben AppHosts gleichzeitig betreibst — sei es für parallele Entwicklung, automatisierte Tests, KI-Agenten oder Git Worktrees. Für Einzelinstanz-Entwicklung, bei der du vorhersagbare Ports bevorzugst, funktioniert das reguläre &lt;code&gt;aspire run&lt;/code&gt; weiterhin bestens.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Der isolierte Modus ist ein kleines Feature, das ein reales, zunehmend häufiges Problem löst. Da KI-gestützte Entwicklung uns in Richtung mehr paralleler Workflows drängt — mehrere Agenten, mehrere Worktrees, mehrere Kontexte — ist die Fähigkeit, einfach eine weitere Instanz hochzufahren ohne um Ports zu kämpfen, essentiell.&lt;/p&gt;
&lt;p&gt;Lies den &lt;a href="https://devblogs.microsoft.com/aspire/aspire-isolated-mode-parallel-development/"&gt;vollständigen Post&lt;/a&gt; für alle technischen Details und probiere es aus mit &lt;code&gt;aspire update --self&lt;/code&gt; um Version 13.2 zu bekommen.&lt;/p&gt;</content:encoded></item><item><title>Die Visual Studio Floating-Windows-Einstellung, die Du Nicht Kanntest (Aber Kennen Solltest)</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</guid><description>Eine versteckte Visual Studio-Einstellung gibt dir volle Kontrolle über schwebende Fenster — unabhängige Taskleisten-Einträge, richtiges Multi-Monitor-Verhalten und perfekte FancyZones-Integration. Ein Dropdown ändert alles.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wenn ihr mehrere Monitore mit Visual Studio verwendet (und ehrlich gesagt, wer macht das heutzutage nicht?), habt ihr wahrscheinlich schon die Frustration erlebt: Schwebende Toolfenster verschwinden, wenn ihr das Haupt-IDE minimiert, sie bleiben immer über allem anderen, und sie tauchen nicht als separate Taskleisten-Buttons auf. Das funktioniert für manche Workflows, aber für Multi-Monitor-Setups ist es nervig.&lt;/p&gt;
&lt;p&gt;Mads Kristensen vom Visual Studio Team &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;teilte eine kaum bekannte Einstellung&lt;/a&gt;, die komplett verändert, wie sich schwebende Fenster verhalten. Ein Dropdown. Das war&amp;rsquo;s.&lt;/p&gt;
&lt;h2 id="die-einstellung"&gt;Die Einstellung&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tools &amp;gt; Options &amp;gt; Environment &amp;gt; Windows &amp;gt; Floating Windows&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Das Dropdown &amp;ldquo;These floating windows are owned by the main window&amp;rdquo; hat drei Optionen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt; — volle Unabhängigkeit. Jedes schwebende Fenster bekommt seinen eigenen Taskleisten-Eintrag und verhält sich wie ein normales Windows-Fenster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Windows&lt;/strong&gt; (Standard) — Dokumente schweben frei, Toolfenster bleiben an die IDE gebunden.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documents and Tool Windows&lt;/strong&gt; — klassisches Visual Studio-Verhalten, alles an das Hauptfenster gebunden.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="warum-none-der-richtige-weg-für-multi-monitor-setups-ist"&gt;Warum &amp;ldquo;None&amp;rdquo; der richtige Weg für Multi-Monitor-Setups ist&lt;/h2&gt;
&lt;p&gt;Stellt es auf &lt;strong&gt;None&lt;/strong&gt; und plötzlich verhalten sich alle eure schwebenden Tool- und Dokumentfenster wie echte Windows-Anwendungen. Sie erscheinen in der Taskleiste, bleiben sichtbar wenn ihr das Visual Studio-Hauptfenster minimiert, und hören auf, sich vor alles andere zu drängen.&lt;/p&gt;
&lt;p&gt;Kombiniert das mit &lt;strong&gt;PowerToys FancyZones&lt;/strong&gt; und es ist ein Game Changer. Erstellt benutzerdefinierte Layouts über eure Monitore, dockt euren Solution Explorer in eine Zone, Debugger in eine andere, und Code-Dateien wohin ihr wollt. Alles bleibt an Ort und Stelle, alles ist unabhängig erreichbar, und euer Arbeitsplatz fühlt sich organisiert an statt chaotisch.&lt;/p&gt;
&lt;h2 id="schnelle-empfehlungen"&gt;Schnelle Empfehlungen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multi-Monitor-Poweruser&lt;/strong&gt;: Auf &lt;strong&gt;None&lt;/strong&gt; setzen, mit FancyZones kombinieren&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gelegentliche Floater&lt;/strong&gt;: &lt;strong&gt;Tool Windows&lt;/strong&gt; (Standard) ist ein guter Mittelweg&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traditioneller Workflow&lt;/strong&gt;: &lt;strong&gt;Documents and Tool Windows&lt;/strong&gt; hält alles klassisch&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Profi-Tipp: &lt;strong&gt;Ctrl + Doppelklick&lt;/strong&gt; auf die Titelleiste eines beliebigen Toolfensters, um es sofort zu lösen oder anzudocken. Kein Neustart nötig nach dem Ändern der Einstellung.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Es ist eine dieser &amp;ldquo;Ich kann nicht glauben, dass ich das nicht wusste&amp;rdquo;-Einstellungen. Wenn euch schwebende Fenster in Visual Studio jemals genervt haben, geht das jetzt sofort ändern.&lt;/p&gt;
&lt;p&gt;Lest den &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;vollständigen Post&lt;/a&gt; für Details und Screenshots.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.116 — Agents App Bekommt Tastaturnavigation und Dateikontext-Vervollständigungen</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-116-agents-app-updates/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-116-agents-app-updates/</guid><description>VS Code 1.116 konzentriert sich auf die Verfeinerung der Agents App — dedizierte Tastenkürzel, Barrierefreiheitsverbesserungen, Dateikontext-Vervollständigungen und CSS @import Link-Auflösung.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-116-agents-app-updates/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;VS Code 1.116 ist das April 2026-Release, und obwohl es leichter ausfällt als einige neuere Updates, sind die Änderungen fokussiert und bedeutsam — besonders wenn ihr die Agents App täglich nutzt.&lt;/p&gt;
&lt;p&gt;Hier ist, was gelandet ist, basierend auf den &lt;a href="https://code.visualstudio.com/updates/v1_116"&gt;offiziellen Release Notes&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="verbesserungen-der-agents-app"&gt;Verbesserungen der Agents App&lt;/h2&gt;
&lt;p&gt;Die Agents App reift weiter mit Usability-Verfeinerungen, die im täglichen Workflow einen echten Unterschied machen:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dedizierte Tastenkürzel&lt;/strong&gt; — ihr könnt jetzt die Changes-Ansicht, den Dateibaum innerhalb von Changes und die Chat-Personalisierungsansicht mit dedizierten Befehlen und Tastenkürzeln fokussieren. Wenn ihr bisher in der Agents App herumgeklickt habt, bringt das vollständig tastaturgesteuerte Workflows.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Barrierefreiheits-Hilfedialog&lt;/strong&gt; — das Drücken von &lt;code&gt;Alt+F1&lt;/code&gt; im Chat-Eingabefeld öffnet jetzt einen Barrierefreiheits-Hilfedialog, der verfügbare Befehle und Tastenkürzel anzeigt. Screenreader-Nutzer können auch die Ausführlichkeit der Ansagen steuern. Gute Barrierefreiheit nützt allen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dateikontext-Vervollständigungen&lt;/strong&gt; — tippt &lt;code&gt;#&lt;/code&gt; im Agents App Chat, um Dateikontext-Vervollständigungen für euren aktuellen Workspace auszulösen. Das ist eine dieser kleinen Quality-of-Life-Verbesserungen, die jede Interaktion beschleunigen — keine vollständigen Dateipfade mehr beim Verweisen auf Code.&lt;/p&gt;
&lt;h2 id="css-import-link-auflösung"&gt;CSS &lt;code&gt;@import&lt;/code&gt; Link-Auflösung&lt;/h2&gt;
&lt;p&gt;Schön für Frontend-Entwickler: VS Code löst jetzt CSS &lt;code&gt;@import&lt;/code&gt;-Referenzen auf, die node_modules-Pfade verwenden. Ihr könnt durch Imports wie &lt;code&gt;@import &amp;quot;some-module/style.css&amp;quot;&lt;/code&gt; mit &lt;code&gt;Ctrl+Klick&lt;/code&gt; navigieren, wenn ihr Bundler nutzt. Klein, aber es eliminiert einen Reibungspunkt in CSS-Workflows.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;VS Code 1.116 dreht sich um Verfeinerung — die Agents App navigierbarer, barrierefreier und tastaturfreundlicher zu machen. Wenn ihr viel Zeit in der Agents App verbringt (und ich vermute, das tun viele von uns), summieren sich diese Änderungen.&lt;/p&gt;
&lt;p&gt;Schaut euch die &lt;a href="https://code.visualstudio.com/updates/v1_116"&gt;vollständigen Release Notes&lt;/a&gt; für die komplette Liste an.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.115 — Hintergrund-Terminal-Benachrichtigungen, SSH-Agent-Modus und Mehr</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-115-agent-improvements/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-115-agent-improvements/</guid><description>VS Code 1.115 bringt Hintergrund-Terminal-Benachrichtigungen für Agenten, SSH-Remote-Agent-Hosting, Dateieinfügen in Terminals und sitzungsbewusstes Edit-Tracking. Das ist relevant für .NET-Entwickler.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/vscode-1-115-agent-improvements/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;VS Code 1.115 ist gerade &lt;a href="https://code.visualstudio.com/updates/v1_115"&gt;erschienen&lt;/a&gt;, und obwohl es ein leichteres Release in Bezug auf Hauptfeatures ist, sind die agentenbezogenen Verbesserungen wirklich nützlich, wenn man täglich mit KI-Coding-Assistenten arbeitet.&lt;/p&gt;
&lt;p&gt;Lass mich hervorheben, was wirklich wissenswert ist.&lt;/p&gt;
&lt;h2 id="hintergrund-terminals-kommunizieren-mit-agenten"&gt;Hintergrund-Terminals kommunizieren mit Agenten&lt;/h2&gt;
&lt;p&gt;Das ist das herausragende Feature. Hintergrund-Terminals benachrichtigen Agenten jetzt automatisch, wenn Befehle abgeschlossen sind, einschließlich Exit-Code und Terminal-Ausgabe. Eingabeaufforderungen in Hintergrund-Terminals werden ebenfalls erkannt und dem Benutzer angezeigt.&lt;/p&gt;
&lt;p&gt;Warum ist das wichtig? Wenn du Copilots Agent-Modus verwendet hast, um Build-Befehle oder Test-Suites im Hintergrund auszuführen, kennst du den Schmerz von &amp;ldquo;Ist das schon fertig?&amp;rdquo; — Hintergrund-Terminals waren im Wesentlichen Fire-and-Forget. Jetzt wird der Agent benachrichtigt, wenn dein &lt;code&gt;dotnet build&lt;/code&gt; oder &lt;code&gt;dotnet test&lt;/code&gt; abgeschlossen ist, sieht die Ausgabe und kann entsprechend reagieren. Es ist eine kleine Änderung, die agentengesteuerte Workflows deutlich zuverlässiger macht.&lt;/p&gt;
&lt;p&gt;Es gibt auch ein neues &lt;code&gt;send_to_terminal&lt;/code&gt;-Tool, das Agenten ermöglicht, Befehle mit Benutzerbestätigung an Hintergrund-Terminals zu senden. Das behebt das Problem, bei dem &lt;code&gt;run_in_terminal&lt;/code&gt; mit einem Timeout Terminals in den Hintergrund verschob und sie schreibgeschützt machte.&lt;/p&gt;
&lt;h2 id="ssh-remote-agent-hosting"&gt;SSH-Remote-Agent-Hosting&lt;/h2&gt;
&lt;p&gt;VS Code unterstützt jetzt die Verbindung zu Remote-Maschinen über SSH, installiert automatisch die CLI und startet sie im Agent-Host-Modus. Das bedeutet, dass deine KI-Agent-Sitzungen direkt auf Remote-Umgebungen zielen können — nützlich für .NET-Entwickler, die auf Linux-Servern oder Cloud-VMs bauen und testen.&lt;/p&gt;
&lt;h2 id="edit-tracking-in-agent-sitzungen"&gt;Edit-Tracking in Agent-Sitzungen&lt;/h2&gt;
&lt;p&gt;Dateiänderungen während Agent-Sitzungen werden jetzt verfolgt und wiederhergestellt, mit Diffs, Undo/Redo und Zustandswiederherstellung. Wenn ein Agent Änderungen an deinem Code vornimmt und etwas schiefgeht, kannst du genau sehen, was sich geändert hat, und es zurückrollen. Beruhigend, wenn man Agenten seine Codebasis ändern lässt.&lt;/p&gt;
&lt;h2 id="browser-tab-erkennung-und-weitere-verbesserungen"&gt;Browser-Tab-Erkennung und weitere Verbesserungen&lt;/h2&gt;
&lt;p&gt;Ein paar weitere Quality-of-Life-Ergänzungen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Browser-Tab-Tracking&lt;/strong&gt; — Chat kann jetzt Browser-Tabs verfolgen und verlinken, die während einer Sitzung geöffnet wurden, sodass Agenten auf Webseiten verweisen können, die du gerade anschaust&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dateieinfügen im Terminal&lt;/strong&gt; — füge Dateien (einschließlich Bilder) mit Strg+V, Drag-and-Drop oder Rechtsklick in das Terminal ein&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testabdeckung in der Minimap&lt;/strong&gt; — Testabdeckungsindikatoren werden jetzt in der Minimap für einen schnellen visuellen Überblick angezeigt&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pinch-to-Zoom auf Mac&lt;/strong&gt; — der integrierte Browser unterstützt Pinch-to-Zoom-Gesten&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot-Berechtigungen in Sitzungen&lt;/strong&gt; — die Statusleiste zeigt Nutzungsinformationen in der Sitzungsansicht&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Favicon in Gehe zu Datei&lt;/strong&gt; — geöffnete Webseiten zeigen Favicons in der Schnellauswahlliste&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;VS Code 1.115 ist ein inkrementelles Release, aber die Agent-Verbesserungen — Hintergrund-Terminal-Benachrichtigungen, SSH-Agent-Hosting und Edit-Tracking — ergeben zusammen eine spürbar flüssigere Erfahrung für KI-unterstützte Entwicklung. Wenn du Copilots Agent-Modus für .NET-Projekte verwendest, sind das genau die Art von Quality-of-Life-Verbesserungen, die den täglichen Reibungsverlust reduzieren.&lt;/p&gt;
&lt;p&gt;Schau dir die &lt;a href="https://code.visualstudio.com/updates/v1_115"&gt;vollständigen Release Notes&lt;/a&gt; für alle Details an.&lt;/p&gt;</content:encoded></item><item><title>Aspire 13.2 liefert eine Docs-CLI — und dein KI-Agent kann sie auch nutzen</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</link><pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</guid><description>.NET Aspire 13.2 fügt aspire docs hinzu — eine CLI zum Suchen, Durchstöbern und Lesen offizieller Dokumentation, ohne das Terminal zu verlassen. Sie funktioniert auch als Werkzeug für KI-Agenten. Hier erfährst du, warum das wichtig ist.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-docs-cli-ai-skills/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kennst du diesen Moment, wenn du tief in einem Aspire AppHost steckst, Integrationen verdrahtest, und du genau nachschauen musst, welche Parameter die Redis-Integration erwartet? Du wechselst mit Alt-Tab zum Browser, suchst auf aspire.dev, kneifst die Augen zusammen bei den API-Docs, und kommst zurück zu deinem Editor. Kontext verloren. Flow unterbrochen.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 hat gerade &lt;a href="https://devblogs.microsoft.com/aspire/aspire-docs-in-your-terminal/"&gt;eine Lösung dafür geliefert&lt;/a&gt;. Die &lt;code&gt;aspire docs&lt;/code&gt;-CLI ermöglicht es dir, offizielle Aspire-Dokumentation direkt aus deinem Terminal zu suchen, durchstöbern und lesen. Und weil sie auf wiederverwendbaren Services basiert, können KI-Agenten und Skills dieselben Befehle nutzen, um Docs nachzuschlagen, statt APIs zu halluzinieren, die gar nicht existieren.&lt;/p&gt;
&lt;h2 id="das-problem-das-hier-wirklich-gelöst-wird"&gt;Das Problem, das hier wirklich gelöst wird&lt;/h2&gt;
&lt;p&gt;David Pine bringt es im Originalbeitrag auf den Punkt: KI-Agenten waren &lt;em&gt;furchtbar&lt;/em&gt; darin, Entwicklern beim Bauen von Aspire-Apps zu helfen. Sie empfahlen &lt;code&gt;dotnet run&lt;/code&gt; statt &lt;code&gt;aspire run&lt;/code&gt;, verwiesen auf learn.microsoft.com für Docs, die auf aspire.dev leben, schlugen veraltete NuGet-Pakete vor, und — mein persönlicher Favorit — halluzinierten APIs, die nicht existieren.&lt;/p&gt;
&lt;p&gt;Warum? Weil Aspire viel länger .NET-spezifisch war, als es polyglott ist, und LLMs mit Trainingsdaten arbeiten, die älter sind als die neuesten Features. Wenn du einem KI-Agenten die Möglichkeit gibst, tatsächlich die aktuellen Docs nachzuschlagen, hört er auf zu raten und wird nützlich.&lt;/p&gt;
&lt;h2 id="drei-befehle-null-browser-tabs"&gt;Drei Befehle, null Browser-Tabs&lt;/h2&gt;
&lt;p&gt;Die CLI ist erfrischend einfach:&lt;/p&gt;
&lt;h3 id="alle-docs-auflisten"&gt;Alle Docs auflisten&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Gibt jede verfügbare Dokumentationsseite auf aspire.dev zurück. Brauchst du maschinenlesbare Ausgabe? Füge &lt;code&gt;--format Json&lt;/code&gt; hinzu.&lt;/p&gt;
&lt;h3 id="nach-einem-thema-suchen"&gt;Nach einem Thema suchen&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs search &lt;span class="s2"&gt;&amp;#34;redis&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Durchsucht sowohl Titel als auch Inhalte mit gewichteter Relevanzbewertung. Dieselbe Suchmaschine, die intern die Dokumentationswerkzeuge antreibt. Du bekommst gerankte Ergebnisse mit Titeln, Slugs und Relevanzwerten.&lt;/p&gt;
&lt;h3 id="eine-vollständige-seite-lesen-oder-nur-einen-abschnitt"&gt;Eine vollständige Seite lesen (oder nur einen Abschnitt)&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Streamt die vollständige Seite als Markdown in dein Terminal. Brauchst du nur einen Abschnitt?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration --section &lt;span class="s2"&gt;&amp;#34;Add Redis resource&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Chirurgische Präzision. Kein Scrollen durch 500 Zeilen. Nur der Teil, den du brauchst.&lt;/p&gt;
&lt;h2 id="der-ki-agent-aspekt"&gt;Der KI-Agent-Aspekt&lt;/h2&gt;
&lt;p&gt;Hier wird es interessant für uns Entwickler, die mit KI-Werkzeugen arbeiten. Dieselben &lt;code&gt;aspire docs&lt;/code&gt;-Befehle funktionieren als Tools für KI-Agenten — über Skills, MCP-Server oder einfache CLI-Wrapper.&lt;/p&gt;
&lt;p&gt;Statt dass dein KI-Assistent Aspire-APIs auf Basis veralteter Trainingsdaten erfindet, kann er &lt;code&gt;aspire docs search &amp;quot;postgres&amp;quot;&lt;/code&gt; aufrufen, die offiziellen Integrations-Docs finden, die richtige Seite lesen und dir den dokumentierten Ansatz liefern. Echtzeit-aktuelle Dokumentation — nicht das, was das Modell vor sechs Monaten auswendig gelernt hat.&lt;/p&gt;
&lt;p&gt;Die Architektur dahinter ist bewusst so gestaltet. Das Aspire-Team hat wiederverwendbare Services gebaut (&lt;code&gt;IDocsIndexService&lt;/code&gt;, &lt;code&gt;IDocsSearchService&lt;/code&gt;, &lt;code&gt;IDocsFetcher&lt;/code&gt;, &lt;code&gt;IDocsCache&lt;/code&gt;) anstelle einer einmaligen Integration. Das bedeutet, dieselbe Suchmaschine funktioniert für Menschen im Terminal, KI-Agenten in deinem Editor und Automatisierung in deiner CI-Pipeline.&lt;/p&gt;
&lt;h2 id="praxisszenarien"&gt;Praxisszenarien&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Schnelle Terminal-Nachschlagen:&lt;/strong&gt; Du steckst drei Dateien tief und brauchst Redis-Konfigurationsparameter. Zwei Befehle, neunzig Sekunden, zurück an die Arbeit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs search &lt;span class="s2"&gt;&amp;#34;redis&amp;#34;&lt;/span&gt; --limit &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration --section &lt;span class="s2"&gt;&amp;#34;Configuration&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;KI-gestützte Entwicklung:&lt;/strong&gt; Dein VS Code Skill wrapt die CLI-Befehle. Du fragst „Füge eine PostgreSQL-Datenbank zu meinem AppHost hinzu&amp;quot; und der Agent schlägt die echten Docs nach, bevor er antwortet. Keine Halluzinationen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CI/CD-Validierung:&lt;/strong&gt; Deine Pipeline validiert AppHost-Konfigurationen programmatisch gegen offizielle Dokumentation. Die &lt;code&gt;--format Json&lt;/code&gt;-Ausgabe lässt sich sauber mit &lt;code&gt;jq&lt;/code&gt; und anderen Tools weiterverarbeiten.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eigene Wissensdatenbanken:&lt;/strong&gt; Baust du deine eigenen KI-Tools? Leite strukturierte JSON-Ausgabe direkt in deine Wissensdatenbank:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs search &lt;span class="s2"&gt;&amp;#34;monitoring&amp;#34;&lt;/span&gt; --format Json &lt;span class="p"&gt;|&lt;/span&gt; jq &lt;span class="s1"&gt;&amp;#39;[.[] | {slug, title, summary}]&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Kein Web Scraping. Keine API-Keys. Dieselben strukturierten Daten, die intern von den Dokumentationswerkzeugen genutzt werden.&lt;/p&gt;
&lt;h2 id="die-dokumentation-ist-immer-aktuell"&gt;Die Dokumentation ist immer aktuell&lt;/h2&gt;
&lt;p&gt;Das ist der Teil, den ich am meisten schätze. Die CLI lädt keinen Snapshot herunter — sie fragt aspire.dev mit ETag-basiertem Caching ab. In dem Moment, in dem die Docs aktualisiert werden, spiegelt deine CLI und jeder darauf aufbauende Skill das wider. Keine veralteten Kopien, keine „aber im Wiki stand doch&amp;hellip;&amp;quot;-Momente.&lt;/p&gt;
&lt;h2 id="zum-abschluss"&gt;Zum Abschluss&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;aspire docs&lt;/code&gt; ist eines dieser kleinen Features, das ein echtes Problem sauber löst. Menschen bekommen terminal-nativen Dokumentationszugriff. KI-Agenten bekommen eine Möglichkeit, aufzuhören zu raten und stattdessen echte Docs zu referenzieren. Und alles wird von derselben Wahrheitsquelle gespeist.&lt;/p&gt;
&lt;p&gt;Wenn du mit .NET Aspire baust und die CLI noch nicht ausprobiert hast, führe &lt;code&gt;aspire docs search &amp;quot;dein-thema-hier&amp;quot;&lt;/code&gt; aus und schau, wie es sich anfühlt. Dann überleg dir, diese Befehle in dein KI-Skill- oder Automatisierungs-Setup einzubauen — deine Agenten werden es dir danken.&lt;/p&gt;
&lt;p&gt;Schau dir &lt;a href="https://davidpine.dev/posts/aspire-docs-mcp-tools/"&gt;David Pines Deep Dive&lt;/a&gt; an, wie die Dokumentationswerkzeuge entstanden sind, und die &lt;a href="https://aspire.dev/reference/cli/commands/aspire-docs/"&gt;offizielle CLI-Referenz&lt;/a&gt; für alle Details.&lt;/p&gt;</content:encoded></item><item><title>azd ermöglicht jetzt lokales Ausführen und Debuggen von KI-Agenten — Das hat sich im März 2026 geändert</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</guid><description>Das Azure Developer CLI hat im März 2026 sieben Releases veröffentlicht. Die Highlights: ein lokaler Run-and-Debug-Loop für KI-Agenten, GitHub Copilot-Integration beim Projekt-Setup und Container App Jobs-Unterstützung.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sieben Releases in einem Monat. Das hat das Azure Developer CLI (&lt;code&gt;azd&lt;/code&gt;)-Team im März 2026 veröffentlicht, und das Hauptfeature ist genau das, worauf ich gewartet habe: &lt;strong&gt;ein lokaler Run-and-Debug-Loop für KI-Agenten&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;PC Chan &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;hat die vollständige Zusammenfassung veröffentlicht&lt;/a&gt;, und obwohl es viel gibt, lass mich das auf das filtern, was für .NET-Entwickler, die KI-gestützte Apps bauen, wirklich wichtig ist.&lt;/p&gt;
&lt;h2 id="ki-agenten-ausführen-und-debuggen-ohne-deployment"&gt;KI-Agenten ausführen und debuggen ohne Deployment&lt;/h2&gt;
&lt;p&gt;Das ist das große Ding. Die neue &lt;code&gt;azure.ai.agents&lt;/code&gt;-Extension fügt Befehle hinzu, die dir eine ordentliche Inner-Loop-Erfahrung für KI-Agenten geben:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azd ai agent run&lt;/code&gt; — startet deinen Agenten lokal&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt; — sendet Nachrichten (lokal oder deployed)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent show&lt;/code&gt; — zeigt Container-Status und Health&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt; — streamt Container-Logs in Echtzeit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vorher bedeutete das Testen eines KI-Agenten jedes Mal ein Deployment zu Microsoft Foundry. Jetzt kannst du lokal iterieren, das Verhalten testen und erst deployen, wenn du bereit bist. Wenn du Agenten mit dem Microsoft Agent Framework oder Semantic Kernel baust, ändert das deinen täglichen Workflow.&lt;/p&gt;
&lt;p&gt;Der invoke-Befehl funktioniert sowohl gegen lokale als auch deployed Agenten, was bedeutet, dass du den gleichen Test-Workflow verwenden kannst, egal wo der Agent läuft.&lt;/p&gt;
&lt;h2 id="github-copilot-richtet-dein-azd-projekt-ein"&gt;GitHub Copilot richtet dein azd-Projekt ein&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd init&lt;/code&gt; bietet jetzt eine &amp;ldquo;Set up with GitHub Copilot (Preview)&amp;quot;-Option. Statt manuell Prompts über deine Projektstruktur zu beantworten, scaffoldet ein Copilot-Agent die Konfiguration für dich. Wenn ein Befehl fehlschlägt, bietet &lt;code&gt;azd&lt;/code&gt; jetzt KI-gestützte Fehlerbehebung: Kategorie wählen, den Agenten einen Fix vorschlagen lassen und wiederholen — alles ohne das Terminal zu verlassen.&lt;/p&gt;
&lt;h2 id="container-app-jobs-und-deployment-verbesserungen"&gt;Container App Jobs und Deployment-Verbesserungen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Container App Jobs&lt;/strong&gt;: &lt;code&gt;azd&lt;/code&gt; deployed jetzt &lt;code&gt;Microsoft.App/jobs&lt;/code&gt; über die bestehende &lt;code&gt;host: containerapp&lt;/code&gt;-Konfiguration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Konfigurierbare Deployment-Timeouts&lt;/strong&gt;: Neues &lt;code&gt;--timeout&lt;/code&gt;-Flag und &lt;code&gt;deployTimeout&lt;/code&gt;-Feld in &lt;code&gt;azure.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remote-Build-Fallback&lt;/strong&gt;: Bei fehlgeschlagenem ACR-Build fällt &lt;code&gt;azd&lt;/code&gt; automatisch auf lokalen Docker/Podman-Build zurück.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lokale Preflight-Validierung&lt;/strong&gt;: Bicep-Parameter werden lokal validiert, bevor deployed wird.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="dx-verbesserungen"&gt;DX-Verbesserungen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Automatische pnpm/yarn-Erkennung&lt;/strong&gt; für JS/TS-Projekte&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pyproject.toml-Unterstützung&lt;/strong&gt; für Python&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lokale Template-Verzeichnisse&lt;/strong&gt; — &lt;code&gt;azd init --template&lt;/code&gt; akzeptiert jetzt Dateisystem-Pfade&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bessere Fehlermeldungen&lt;/strong&gt; im &lt;code&gt;--no-prompt&lt;/code&gt;-Modus&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build-Umgebungsvariablen&lt;/strong&gt; in alle Framework-Build-Subprozesse injiziert (.NET, Node.js, Java, Python)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Der lokale KI-Agenten-Debug-Loop ist der Star dieses Releases, aber die Gesamtheit an Deployment-Verbesserungen und DX-Polish macht &lt;code&gt;azd&lt;/code&gt; reifer als je zuvor. Wenn du .NET-Apps auf Azure deployst — besonders KI-Agenten — lohnt sich dieses Update.&lt;/p&gt;
&lt;p&gt;Schau dir die &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;vollständigen Release Notes&lt;/a&gt; für alle Details an.&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps behebt endlich den Markdown-Editor, über den sich alle beschwert haben</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</guid><description>Der Azure DevOps Markdown-Editor für Work Items bekommt eine klarere Unterscheidung zwischen Vorschau- und Bearbeitungsmodus. Eine kleine Änderung, die ein wirklich nerviges Workflow-Problem behebt.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wenn du Azure Boards benutzt, hast du das wahrscheinlich erlebt: Du liest eine Work-Item-Beschreibung durch, vielleicht überprüfst du Akzeptanzkriterien, und du machst versehentlich einen Doppelklick. Boom — du bist im Bearbeitungsmodus. Du wolltest nichts bearbeiten. Du hast nur gelesen.&lt;/p&gt;
&lt;p&gt;Dan Hellem &lt;a href="https://devblogs.microsoft.com/devops/improving-the-markdown-editor-for-work-items/"&gt;hat den Fix angekündigt&lt;/a&gt;, und es ist eine dieser Änderungen, die klein klingen, aber echte Reibung aus deinem täglichen Workflow entfernen.&lt;/p&gt;
&lt;h2 id="was-sich-geändert-hat"&gt;Was sich geändert hat&lt;/h2&gt;
&lt;p&gt;Der Markdown-Editor für Work-Item-Textfelder öffnet jetzt standardmäßig im &lt;strong&gt;Vorschaumodus&lt;/strong&gt;. Du kannst den Inhalt lesen und damit interagieren — Links folgen, Formatierung überprüfen — ohne dir Sorgen zu machen, versehentlich in den Bearbeitungsmodus zu gelangen.&lt;/p&gt;
&lt;p&gt;Wenn du wirklich bearbeiten willst, klickst du auf das Bearbeiten-Symbol oben am Feld. Wenn du fertig bist, verlässt du den Modus explizit. Einfach, bewusst, vorhersagbar.&lt;/p&gt;
&lt;h2 id="warum-das-wichtiger-ist-als-es-klingt"&gt;Warum das wichtiger ist als es klingt&lt;/h2&gt;
&lt;p&gt;Der &lt;a href="https://developercommunity.visualstudio.com/t/Markdown-editor-for-work-item-multi-line/10935496"&gt;Community-Feedback-Thread&lt;/a&gt; dazu war lang. Das Doppelklick-zum-Bearbeiten-Verhalten wurde im Juli 2025 mit dem Markdown-Editor eingeführt, und die Beschwerden begannen fast sofort.&lt;/p&gt;
&lt;p&gt;Für Teams, die Sprint-Planung, Backlog-Pflege oder Code-Reviews mit Azure Boards machen, summiert sich diese Mikro-Reibung. Jeder versehentliche Bearbeitungsmodus-Eintritt ist ein Kontextwechsel.&lt;/p&gt;
&lt;h2 id="rollout-status"&gt;Rollout-Status&lt;/h2&gt;
&lt;p&gt;Dies wird bereits an einen Teil der Kunden ausgerollt und über die nächsten zwei bis drei Wochen auf alle erweitert.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Nicht jede Verbesserung muss ein Headliner sein. Manchmal ist das beste Update einfach etwas Nerviges zu entfernen. Das hier ist genau so eine — ein kleiner UX-Fix, der Azure Boards weniger feindselig für Leute macht, die einfach nur ihre Work Items in Ruhe lesen wollen.&lt;/p&gt;</content:encoded></item><item><title>Bookmark Studio bringt Slot-basierte Navigation und Sharing zu Visual Studio Bookmarks</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</guid><description>Mads Kristensens neue Bookmark Studio Extension fügt tastaturgesteuerte Slot-Navigation, einen Bookmark Manager, Farben, Labels und Export-Funktionen zu Visual Studio Bookmarks hinzu.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bookmarks in Visual Studio waren schon immer&amp;hellip; okay. Du setzt eines, navigierst zum nächsten, vergisst welches welches ist. Sie funktionieren, aber sie waren nie eine Funktion, die man als mächtig bezeichnen würde.&lt;/p&gt;
&lt;p&gt;Mads Kristensen hat gerade &lt;a href="https://devblogs.microsoft.com/visualstudio/bookmark-studio-evolving-bookmarks-in-visual-studio/"&gt;Bookmark Studio veröffentlicht&lt;/a&gt;, eine experimentelle Extension, die genau die Lücken füllt, auf die du wahrscheinlich gestoßen bist.&lt;/p&gt;
&lt;h2 id="slot-basierte-navigation"&gt;Slot-basierte Navigation&lt;/h2&gt;
&lt;p&gt;Bookmarks können Slots 1–9 zugewiesen und direkt mit &lt;code&gt;Alt+Shift+1&lt;/code&gt; bis &lt;code&gt;Alt+Shift+9&lt;/code&gt; angesprungen werden. Neue Bookmarks bekommen automatisch den nächsten verfügbaren Slot.&lt;/p&gt;
&lt;h2 id="der-bookmark-manager"&gt;Der Bookmark Manager&lt;/h2&gt;
&lt;p&gt;Ein neues Tool-Fenster zeigt alle Bookmarks mit Filterung nach Name, Datei, Ort, Farbe oder Slot.&lt;/p&gt;
&lt;h2 id="organisation-mit-labels-farben-und-ordnern"&gt;Organisation mit Labels, Farben und Ordnern&lt;/h2&gt;
&lt;p&gt;Bookmarks können optional Labels, Farben haben und in Ordner gruppiert werden. Alle Metadaten werden pro Solution gespeichert.&lt;/p&gt;
&lt;h2 id="exportieren-und-teilen"&gt;Exportieren und Teilen&lt;/h2&gt;
&lt;p&gt;Bookmark Studio ermöglicht den Export als Klartext, Markdown oder CSV. Bookmark-Pfade in PR-Beschreibungen einbinden oder Untersuchungspfade mit Teamkollegen teilen.&lt;/p&gt;
&lt;h2 id="bookmarks-die-dem-code-folgen"&gt;Bookmarks die dem Code folgen&lt;/h2&gt;
&lt;p&gt;Bookmark Studio verfolgt Bookmarks relativ zum verankerten Text, sodass sie nicht auf falsche Zeilen driften.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Bookmark Studio erfindet nichts neu. Es nimmt ein Feature, das jahrelang „gut genug&amp;quot; war, und macht es wirklich nützlich. Hol es dir vom &lt;a href="https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BookmarkStudio"&gt;Visual Studio Marketplace&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Visual Studios März-Update lässt dich eigene Copilot-Agenten bauen — und find_symbol ist ein großes Ding</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/</guid><description>Visual Studios März 2026-Update bringt benutzerdefinierte Copilot-Agenten, wiederverwendbare Agent Skills, ein sprachbewusstes find_symbol-Tool und Copilot-gestütztes Profiling aus dem Test Explorer.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Visual Studio hat gerade sein bedeutendstes Copilot-Update bekommen. Mark Downie &lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-march-update-build-your-own-custom-agents/"&gt;hat das März-Release angekündigt&lt;/a&gt;, und die Überschrift sind Custom Agents — aber ehrlich gesagt könnte das &lt;code&gt;find_symbol&lt;/code&gt;-Tool weiter unten die Funktion sein, die deinen Workflow am meisten verändert.&lt;/p&gt;
&lt;h2 id="benutzerdefinierte-copilot-agenten-in-deinem-repo"&gt;Benutzerdefinierte Copilot-Agenten in deinem Repo&lt;/h2&gt;
&lt;p&gt;Willst du, dass Copilot deinen Team-Codierstandards folgt, deine Build-Pipeline ausführt oder deine internen Docs abfragt? Jetzt kannst du genau das bauen.&lt;/p&gt;
&lt;p&gt;Custom Agents werden als &lt;code&gt;.agent.md&lt;/code&gt;-Dateien definiert, die du in &lt;code&gt;.github/agents/&lt;/code&gt; in deinem Repository ablegst. Jeder Agent hat vollen Zugriff auf Workspace-Awareness, Code-Verständnis, Tools, dein bevorzugtes Modell und MCP-Verbindungen.&lt;/p&gt;
&lt;h2 id="agent-skills-wiederverwendbare-instruktionspakete"&gt;Agent Skills: wiederverwendbare Instruktionspakete&lt;/h2&gt;
&lt;p&gt;Skills werden automatisch aus &lt;code&gt;.github/skills/&lt;/code&gt; in deinem Repo oder &lt;code&gt;~/.copilot/skills/&lt;/code&gt; in deinem Profil geladen. Denke an Skills als modulare Expertise, die du mischen und kombinieren kannst.&lt;/p&gt;
&lt;h2 id="find_symbol-sprachbewusste-navigation"&gt;find_symbol: sprachbewusste Navigation&lt;/h2&gt;
&lt;p&gt;Das neue &lt;code&gt;find_symbol&lt;/code&gt;-Tool gibt Copilots Agent-Modus sprachservice-gestützte Symbol-Navigation. Statt Text zu suchen, kann der Agent alle Referenzen eines Symbols finden und auf Typ-Informationen, Deklarationen und Scope zugreifen.&lt;/p&gt;
&lt;p&gt;Für .NET-Entwickler ist das eine massive Verbesserung — C#-Codebasen mit tiefen Typ-Hierarchien profitieren enorm.&lt;/p&gt;
&lt;h2 id="tests-mit-copilot-profilen"&gt;Tests mit Copilot profilen&lt;/h2&gt;
&lt;p&gt;Im Test Explorer gibt es jetzt &lt;strong&gt;Profile with Copilot&lt;/strong&gt;. Der Profiling Agent führt den Test aus und analysiert automatisch CPU-Nutzung und Instrumentierungsdaten.&lt;/p&gt;
&lt;h2 id="perf-tips-beim-live-debugging"&gt;Perf Tips beim Live-Debugging&lt;/h2&gt;
&lt;p&gt;Performance-Optimierung passiert jetzt während des Debuggens. Visual Studio zeigt inline Ausführungszeit und Performance-Signale. Siehst du eine langsame Zeile? Klicke auf den Perf Tip und frage Copilot nach Optimierungsvorschlägen.&lt;/p&gt;
&lt;h2 id="nuget-schwachstellen-aus-dem-solution-explorer-beheben"&gt;NuGet-Schwachstellen aus dem Solution Explorer beheben&lt;/h2&gt;
&lt;p&gt;Bei erkannten NuGet-Schwachstellen siehst du einen &lt;strong&gt;Fix with GitHub Copilot&lt;/strong&gt;-Link direkt im Solution Explorer.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Custom Agents und Skills sind die Überschrift, aber &lt;code&gt;find_symbol&lt;/code&gt; ist der Sleeper Hit — es verändert grundlegend, wie genau Copilot beim Refactoring von .NET-Code sein kann. Kombiniert mit Live-Profiling und Schwachstellen-Fixes fühlen sich die KI-Features von Visual Studio jetzt wirklich praktisch an.&lt;/p&gt;
&lt;p&gt;Lade &lt;a href="https://visualstudio.microsoft.com/downloads/"&gt;Visual Studio 2026 Insiders&lt;/a&gt; herunter, um alles auszuprobieren.&lt;/p&gt;</content:encoded></item><item><title>Vom Laptop in die Produktion: KI-Agenten mit zwei Befehlen auf Microsoft Foundry deployen</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</guid><description>Das Azure Developer CLI hat jetzt 'azd ai agent'-Befehle, die deinen KI-Agenten in Minuten vom lokalen Entwicklungsrechner zu einem Live-Foundry-Endpoint bringen. Hier ist der komplette Workflow.</description><content:encoded>&lt;p&gt;Du kennst diese Lücke zwischen &amp;ldquo;es funktioniert auf meinem Rechner&amp;rdquo; und &amp;ldquo;es ist deployed und bedient Traffic&amp;rdquo;? Für KI-Agenten war diese Lücke schmerzhaft groß. Du musst Ressourcen bereitstellen, Modelle deployen, Identität einrichten, Monitoring aufsetzen — und das ist bevor jemand deinen Agenten überhaupt aufrufen kann.&lt;/p&gt;
&lt;p&gt;Das Azure Developer CLI hat das gerade zu einer &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;Zwei-Befehle-Angelegenheit&lt;/a&gt; gemacht.&lt;/p&gt;
&lt;h2 id="der-neue-azd-ai-agent-workflow"&gt;Der neue &lt;code&gt;azd ai agent&lt;/code&gt; Workflow&lt;/h2&gt;
&lt;p&gt;Lass mich durchgehen, wie das tatsächlich aussieht. Du hast ein KI-Agenten-Projekt — sagen wir einen Hotel-Concierge-Agenten. Er funktioniert lokal. Du willst ihn auf Microsoft Foundry laufen lassen.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das war&amp;rsquo;s. Zwei Befehle. &lt;code&gt;azd ai agent init&lt;/code&gt; generiert die Infrastructure-as-Code in deinem Repo, und &lt;code&gt;azd up&lt;/code&gt; provisioniert alles auf Azure und veröffentlicht deinen Agenten. Du bekommst einen direkten Link zu deinem Agenten im Foundry-Portal.&lt;/p&gt;
&lt;h2 id="was-unter-der-haube-passiert"&gt;Was unter der Haube passiert&lt;/h2&gt;
&lt;p&gt;Der &lt;code&gt;init&lt;/code&gt;-Befehl generiert echte, inspizierbare Bicep-Templates in deinem Repo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Eine &lt;strong&gt;Foundry Resource&lt;/strong&gt; (Top-Level-Container)&lt;/li&gt;
&lt;li&gt;Ein &lt;strong&gt;Foundry Project&lt;/strong&gt; (wo dein Agent lebt)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modell-Deployment&lt;/strong&gt;-Konfiguration (GPT-4o, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Managed Identity&lt;/strong&gt; mit korrekten RBAC-Rollenzuweisungen&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azure.yaml&lt;/code&gt; für die Service-Map&lt;/li&gt;
&lt;li&gt;&lt;code&gt;agent.yaml&lt;/code&gt; mit Agent-Metadaten und Umgebungsvariablen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hier der entscheidende Punkt: all das gehört dir. Es ist versioniertes Bicep in deinem Repo. Du kannst es inspizieren, anpassen und zusammen mit deinem Agenten-Code committen. Keine magischen Black Boxes.&lt;/p&gt;
&lt;h2 id="die-innere-entwicklungsschleife"&gt;Die innere Entwicklungsschleife&lt;/h2&gt;
&lt;p&gt;Was mir wirklich gefällt, ist die lokale Entwicklungsgeschichte. Wenn du an der Agenten-Logik iterierst, willst du nicht bei jeder Prompt-Änderung neu deployen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das startet deinen Agenten lokal. Kombiniere es mit &lt;code&gt;azd ai agent invoke&lt;/code&gt; um Test-Prompts zu senden, und du hast eine enge Feedback-Schleife. Code bearbeiten, neu starten, aufrufen, wiederholen.&lt;/p&gt;
&lt;p&gt;Der &lt;code&gt;invoke&lt;/code&gt;-Befehl ist auch clever beim Routing — wenn ein lokaler Agent läuft, zielt er automatisch darauf. Wenn nicht, geht er an den Remote-Endpoint.&lt;/p&gt;
&lt;h2 id="echtzeit-monitoring"&gt;Echtzeit-Monitoring&lt;/h2&gt;
&lt;p&gt;Das ist die Funktion, die mich überzeugt hat. Sobald dein Agent deployed ist:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent monitor --follow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Jede Anfrage und Antwort, die durch deinen Agenten fließt, wird in Echtzeit in dein Terminal gestreamt. Für das Debugging von Produktionsproblemen ist das unbezahlbar. Kein Durchsuchen von Log Analytics, kein Warten auf Metrik-Aggregation — du siehst, was gerade passiert.&lt;/p&gt;
&lt;h2 id="der-komplette-befehlssatz"&gt;Der komplette Befehlssatz&lt;/h2&gt;
&lt;p&gt;Hier die Kurzreferenz:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Befehl&lt;/th&gt;
&lt;th&gt;Was er tut&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Scaffolding eines Foundry-Agent-Projekts mit IaC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd up&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Azure-Ressourcen bereitstellen und Agent deployen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Prompts an den Remote- oder lokalen Agent senden&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent run&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Agent lokal für Entwicklung ausführen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Echtzeit-Logs vom veröffentlichten Agent streamen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent show&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Agent-Gesundheit und -Status prüfen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd down&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Alle Azure-Ressourcen aufräumen&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="warum-das-für-net-entwickler-wichtig-ist"&gt;Warum das für .NET-Entwickler wichtig ist&lt;/h2&gt;
&lt;p&gt;Auch wenn das Beispiel in der Ankündigung Python-basiert ist, ist die Infrastruktur-Geschichte sprachunabhängig. Dein .NET-Agent bekommt das gleiche Bicep-Scaffolding, das gleiche Managed-Identity-Setup, die gleiche Monitoring-Pipeline. Und wenn du &lt;code&gt;azd&lt;/code&gt; bereits für deine .NET Aspire-Apps oder Azure-Deployments nutzt, passt das direkt in deinen bestehenden Workflow.&lt;/p&gt;
&lt;p&gt;Die Deployment-Lücke für KI-Agenten war einer der größten Reibungspunkte im Ökosystem. Von einem funktionierenden Prototyp zu einem Produktions-Endpoint mit korrekter Identität, Networking und Monitoring zu kommen, sollte keine Woche DevOps-Arbeit erfordern. Jetzt braucht es zwei Befehle und ein paar Minuten.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd ai agent&lt;/code&gt; ist jetzt verfügbar. Wenn du das Deployment deiner KI-Agenten aufgeschoben hast, weil das Infrastruktur-Setup nach zu viel Arbeit aussah, probier es aus. Schau dir den &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;vollständigen Walkthrough&lt;/a&gt; für die komplette Schritt-für-Schritt-Anleitung inklusive Frontend-Chat-App-Integration an.&lt;/p&gt;</content:encoded></item></channel></rss>