<?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 Productivity | The .NET Blog</title><link>https://thedotnetblog.com/de/tags/developer-productivity/</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>Mon, 27 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/de/tags/developer-productivity/index.xml" rel="self" type="application/rss+xml"/><item><title>Azure DevOps MCP Server April Update: WIQL-Abfragen, PAT-Auth und experimentelle MCP Apps</title><link>https://thedotnetblog.com/de/posts/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/</link><pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/posts/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/</guid><description>Der Azure DevOps MCP Server erhält WIQL-gestützte Work-Item-Abfragen, Personal Access Token Authentifizierung, MCP-Annotationen und ein experimentelles MCP Apps Feature.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Der Azure DevOps MCP Server verbessert sich kontinuierlich. Das April-Update von Dan Hellem deckt beide Server ab.&lt;/p&gt;
&lt;h2 id="wiql-abfrageunterstützung"&gt;WIQL-Abfrageunterstützung&lt;/h2&gt;
&lt;p&gt;Das neue &lt;code&gt;wit_query_by_wiql&lt;/code&gt;-Tool ermöglicht Work Item Query Language Abfragen direkt aus deinem MCP-Client.&lt;/p&gt;
&lt;h2 id="personal-access-tokens"&gt;Personal Access Tokens&lt;/h2&gt;
&lt;p&gt;PAT-Authentifizierung am lokalen Server — wichtig für Integrationsszenarien ohne interaktive Authentifizierung.&lt;/p&gt;
&lt;h2 id="mcp-annotationen"&gt;MCP-Annotationen&lt;/h2&gt;
&lt;p&gt;Metadaten-Tags für Read-only-, Destructive- und Open-World-Tools — grundlegend für Agent-Zuverlässigkeit.&lt;/p&gt;
&lt;h2 id="wiki-tool-konsolidierung"&gt;Wiki-Tool-Konsolidierung&lt;/h2&gt;
&lt;p&gt;5 separate Wiki-Tools → 2 fähigere Tools. Weniger Tools = bessere LLM-Performance.&lt;/p&gt;
&lt;h2 id="experimentell-mcp-apps"&gt;Experimentell: MCP Apps&lt;/h2&gt;
&lt;p&gt;Paketierte Workflows innerhalb der MCP-Server-Umgebung. Die Richtung stimmt.&lt;/p&gt;
&lt;p&gt;Originalpost von Dan Hellem: &lt;a href="https://devblogs.microsoft.com/devops/azure-devops-mcp-server-april-update/"&gt;Azure DevOps MCP Server April Update&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Aspire 13.2: Bun-Support, bessere Container und weniger Debug-Reibung</title><link>https://thedotnetblog.com/de/posts/emiliano-montesdeoca/aspire-132-bun-container-enhancements/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/posts/emiliano-montesdeoca/aspire-132-bun-container-enhancements/</guid><description>Aspire 13.2 fügt erstklassige Bun-Unterstützung für Vite-Apps hinzu, behebt Yarn-Zuverlässigkeit und liefert Container-Verbesserungen, die das lokale Dev-Verhalten vorhersehbarer machen.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/aspire-132-bun-container-enhancements/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Wenn du .NET-Backends mit JavaScript-Frontends in Aspire baust, ist 13.2 das Update, das deinen Alltag leise besser macht. Keine neuen Paradigmen. Nur solide Verbesserungen an Dingen, die leicht nervig waren.&lt;/p&gt;
&lt;h2 id="bun-ist-jetzt-erstklassig"&gt;Bun ist jetzt erstklassig&lt;/h2&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="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;withBun&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;Wenn dein Team Bun bereits verwendet, zwingt Aspire dich nicht mehr gegen den Strom zu schwimmen.&lt;/p&gt;
&lt;h2 id="yarn-wurde-zuverlässiger"&gt;Yarn wurde zuverlässiger&lt;/h2&gt;
&lt;p&gt;Yarn-Nutzer bekommen etwas mindestens genauso Wichtiges: weniger mysteriöse Fehler bei &lt;code&gt;withYarn()&lt;/code&gt; mit &lt;code&gt;addViteApp()&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="container-verbesserungen"&gt;Container-Verbesserungen&lt;/h2&gt;
&lt;h3 id="explizite-pull-policy"&gt;Explizite Pull Policy&lt;/h3&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;const&lt;/span&gt; &lt;span class="nx"&gt;worker&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;addContainer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;worker&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;myorg/worker:latest&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;withImagePullPolicy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ImagePullPolicy&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Never&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;Perfekt für Workflows, wo du lokal Images baust und Compose genau dieses verwenden soll.&lt;/p&gt;
&lt;h3 id="postgresql-18-funktioniert-korrekt"&gt;PostgreSQL 18+ funktioniert korrekt&lt;/h3&gt;
&lt;p&gt;PostgreSQL 18 änderte sein internes Verzeichnislayout, was das Volume-Mapping still brach. 13.2 behebt das.&lt;/p&gt;
&lt;h2 id="debugging-verbesserungen"&gt;Debugging-Verbesserungen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DebuggerDisplayAttribute&lt;/code&gt; auf Core-Typen — nützliche Werte statt tiefer Objektbäume&lt;/li&gt;
&lt;li&gt;Bessere Fehlermeldungen für &lt;code&gt;WaitFor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BeforeResourceStartedEvent&lt;/code&gt; feuert zum richtigen Zeitpunkt&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Aspire 13.2 ist ein fokussiertes Qualitäts-Release. Originalpost von David Pine: &lt;a href="https://devblogs.microsoft.com/aspire/aspire-bun-support-and-container-enhancements/"&gt;Aspire 13.2: Bun Support and Container Enhancements&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>68 Minuten täglich damit verbracht, Code neu zu erklären? Es gibt eine Lösung</title><link>https://thedotnetblog.com/de/posts/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/posts/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</guid><description>Context Rot ist real — dein KI-Agent verliert nach 30 Runden den Faden, und du zahlst stündlich die Kompaktierungssteuer. auto-memory gibt GitHub Copilot CLI chirurgische Erinnerungsfähigkeit ohne tausende Tokens zu verbrennen.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Kennst du den Moment, wenn deine Copilot-Sitzung &lt;code&gt;/compact&lt;/code&gt; trifft und der Agent komplett vergisst, woran du gearbeitet hast? Die nächsten fünf Minuten verbringst du damit, die Dateistruktur, den fehlschlagenden Test und die drei Ansätze, die du bereits versucht hast, neu zu erklären. Dann passiert es wieder. Und wieder.&lt;/p&gt;
&lt;p&gt;Desi Villanueva hat es gemessen: &lt;strong&gt;68 Minuten pro Tag&lt;/strong&gt; — nur für Neuorientierung. Kein Code schreiben. Keine PRs reviewen. Nur die KI über Dinge auf den neuesten Stand bringen, die sie bereits wusste.&lt;/p&gt;
&lt;p&gt;Es stellt sich heraus, dass es dafür einen konkreten Grund gibt — und eine konkrete Lösung.&lt;/p&gt;
&lt;h2 id="die-kontextfenster-lüge"&gt;Die Kontextfenster-Lüge&lt;/h2&gt;
&lt;p&gt;Dein Agent kommt mit einer großen Zahl auf der Verpackung. 200K Tokens. Klingt riesig. In der Praxis ist es eine Obergrenze, keine Garantie.&lt;/p&gt;
&lt;p&gt;Hier ist die tatsächliche Rechnung:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;200K Gesamtkontext&lt;/li&gt;
&lt;li&gt;Minus ~65K für MCP-Tools beim Start (~33%)&lt;/li&gt;
&lt;li&gt;Minus ~10K für Instruktionsdateien wie &lt;code&gt;AGENTS.md&lt;/code&gt; oder &lt;code&gt;copilot-instructions.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das hinterlässt dir etwa &lt;strong&gt;125K bevor du ein einziges Wort schreibst&lt;/strong&gt;. Und es wird schlimmer — LLMs degradieren nicht graceful wenn der Kontext voll wird. Sie stoßen an eine Wand bei etwa 60% Auslastung. Das Modell verliert Dinge, die vor 30 Runden erwähnt wurden, widerspricht früheren Antworten und halluziniert Dateinamen, die es vor 10 Minuten noch selbstsicher angegeben hatte.&lt;/p&gt;
&lt;p&gt;Effektives Limit: &lt;strong&gt;45K Tokens&lt;/strong&gt; bevor die Qualität degradiert. Das sind vielleicht 20-30 Runden aktiver Konversation bevor der Agent anfängt abzudriften.&lt;/p&gt;
&lt;h2 id="die-kompaktierungssteuer"&gt;Die Kompaktierungssteuer&lt;/h2&gt;
&lt;p&gt;Jedes &lt;code&gt;/compact&lt;/code&gt; kostet dich deinen Flow-Zustand. Du bist tief in einer Debugging-Sitzung. Gemeinsamer Kontext über 30 Minuten aufgebaut. Der Agent kennt die Dateistruktur, den fehlschlagenden Test, die Hypothese. Dann kommt die Warnung.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ignorieren → Agent wird progressiv dümmer&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/compact&lt;/code&gt; ausführen → Agent hat eine 2-Absatz-Zusammenfassung einer 30-minütigen Untersuchung&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So oder so verlierst du. So oder so erzählst du dein eigenes Projekt einem neuen Mitarbeiter am ersten Tag nach.&lt;/p&gt;
&lt;p&gt;Das Grausame: &lt;strong&gt;Die Erinnerung existiert bereits.&lt;/strong&gt; Copilot CLI schreibt jede Sitzung in eine lokale SQLite-Datenbank bei &lt;code&gt;~/.copilot/session-store.db&lt;/code&gt;. Der Agent kann sie nur nicht lesen.&lt;/p&gt;
&lt;h2 id="auto-memory-eine-recall-schicht-kein-gedächtnissystem"&gt;auto-memory: Eine Recall-Schicht, Kein Gedächtnissystem&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;pip install auto-memory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;~1.900 Zeilen Python. Null Abhängigkeiten. In 30 Sekunden installiert.&lt;/p&gt;
&lt;p&gt;Anstatt den Kontext mit Grep-Ergebnissen zu fluten, gibst du dem Agenten chirurgischen Zugriff auf das, was wirklich wichtig ist — &lt;strong&gt;50 Tokens statt 10.000&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Context Rot ist eine reale architektonische Einschränkung. auto-memory umgeht sie, indem es deinem Agenten einen günstigen, präzisen Recall-Mechanismus gibt. Wenn du ernsthaftes KI-unterstütztes Entwickeln mit GitHub Copilot CLI machst, ist die 30-Sekunden-Installation es wert.&lt;/p&gt;
&lt;p&gt;Schau es dir an: &lt;a href="https://github.com/dezgit2025/auto-memory"&gt;auto-memory auf GitHub&lt;/a&gt;. Original-Post von Desi Villanueva: &lt;a href="https://devblogs.microsoft.com/all-things-azure/i-wasted-68-minutes-a-day-re-explaining-my-code-then-i-built-auto-memory/"&gt;I Wasted 68 Minutes a Day&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>