<?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/zh/tags/developer-productivity/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>zh</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/zh/tags/developer-productivity/index.xml" rel="self" type="application/rss+xml"/><item><title>Azure DevOps MCP服务器4月更新：WIQL查询、PAT认证和实验性MCP Apps</title><link>https://thedotnetblog.com/zh/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/zh/posts/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/</guid><description>Azure DevOps MCP服务器获得了WIQL驱动的工作项查询、个人访问令牌身份验证、MCP注解，以及将常见工作流打包成可重用工具的实验性MCP Apps功能。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，请&lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Azure DevOps MCP服务器持续改进。Dan Hellem的四月更新同时覆盖了本地和远程服务器。&lt;/p&gt;
&lt;h2 id="wiql查询支持"&gt;WIQL查询支持&lt;/h2&gt;
&lt;p&gt;新的&lt;code&gt;wit_query_by_wiql&lt;/code&gt;工具允许直接从MCP客户端运行工作项查询语言查询。&lt;/p&gt;
&lt;h2 id="个人访问令牌"&gt;个人访问令牌&lt;/h2&gt;
&lt;p&gt;本地服务器上的PAT身份验证 — 对于没有交互式身份验证的集成场景很重要。&lt;/p&gt;
&lt;h2 id="mcp注解"&gt;MCP注解&lt;/h2&gt;
&lt;p&gt;只读、破坏性和开放世界工具的元数据标签 — 代理可靠性的基础。&lt;/p&gt;
&lt;h2 id="wiki工具整合"&gt;Wiki工具整合&lt;/h2&gt;
&lt;p&gt;5个独立的wiki工具 → 2个更强大的工具。工具越少 = LLM性能越好。&lt;/p&gt;
&lt;h2 id="实验性mcp-apps"&gt;实验性：MCP Apps&lt;/h2&gt;
&lt;p&gt;在MCP服务器环境中打包的工作流。方向是对的。&lt;/p&gt;
&lt;p&gt;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支持、更好的容器和更少的调试摩擦</title><link>https://thedotnetblog.com/zh/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/zh/posts/emiliano-montesdeoca/aspire-132-bun-container-enhancements/</guid><description>Aspire 13.2为Vite应用添加了一流的Bun支持，修复了Yarn可靠性问题，并带来了使本地开发行为更可预测的容器改进。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，请&lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/aspire-132-bun-container-enhancements/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;如果你在Aspire中构建.NET后端和JavaScript前端，13.2是那种悄悄让你一天变得更好的更新。&lt;/p&gt;
&lt;h2 id="bun现在是一等公民"&gt;Bun现在是一等公民&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;如果你的团队已经使用Bun，Aspire不再让你逆流而上。&lt;/p&gt;
&lt;h2 id="yarn更可靠了"&gt;Yarn更可靠了&lt;/h2&gt;
&lt;p&gt;Yarn用户在&lt;code&gt;withYarn()&lt;/code&gt;和&lt;code&gt;addViteApp()&lt;/code&gt;中会遇到更少的神秘失败。&lt;/p&gt;
&lt;h2 id="容器改进"&gt;容器改进&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;ImagePullPolicy.Never&lt;/code&gt;用于使用本地镜像而不访问注册表。PostgreSQL 18+数据卷现在可以正确工作。&lt;/p&gt;
&lt;h2 id="调试改进"&gt;调试改进&lt;/h2&gt;
&lt;p&gt;核心类型上的&lt;code&gt;DebuggerDisplayAttribute&lt;/code&gt;，&lt;code&gt;WaitFor&lt;/code&gt;的更好错误消息，&lt;code&gt;BeforeResourceStartedEvent&lt;/code&gt;在正确时机触发。&lt;/p&gt;
&lt;p&gt;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分钟重新解释代码？这里有个解决方案</title><link>https://thedotnetblog.com/zh/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/zh/posts/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</guid><description>上下文腐烂是真实存在的——你的AI代理在30轮之后就会迷失，你每小时都在支付压缩税。auto-memory给GitHub Copilot CLI提供了外科式的记忆，而不需要消耗数千个token。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，请&lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;你知道那个时刻——当你的Copilot会话触发&lt;code&gt;/compact&lt;/code&gt;，代理完全忘记你在做什么？你花接下来五分钟重新解释文件结构、失败的测试、你已经尝试过的三种方法。然后又发生了。&lt;/p&gt;
&lt;p&gt;Desi Villanueva测量了一下：&lt;strong&gt;每天68分钟&lt;/strong&gt; — 仅用于重新定向。不是写代码，不是审查PR，只是让AI了解它已经知道的事情。&lt;/p&gt;
&lt;h2 id="上下文窗口的谎言"&gt;上下文窗口的谎言&lt;/h2&gt;
&lt;p&gt;实际计算：200K总上下文，减去MCP工具65K，减去指令文件10K，实际上&lt;strong&gt;在你输入任何内容之前只剩125K&lt;/strong&gt;。LLM在60%容量时会撞墙，有效限制是&lt;strong&gt;45K token&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="压缩税"&gt;压缩税&lt;/h2&gt;
&lt;p&gt;残忍的部分：&lt;strong&gt;记忆已经存在。&lt;/strong&gt; Copilot CLI将每个会话写入&lt;code&gt;~/.copilot/session-store.db&lt;/code&gt;中的本地SQLite数据库。代理只是无法读取它。&lt;/p&gt;
&lt;h2 id="auto-memory召回层而非记忆系统"&gt;auto-memory：召回层，而非记忆系统&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行Python。零依赖。30秒安装完成。&lt;/p&gt;
&lt;p&gt;不是用grep结果淹没上下文，而是给代理外科式访问真正重要的内容——&lt;strong&gt;50个token而不是10,000个&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;上下文腐烂是真实的架构约束。auto-memory通过给你的代理提供廉价、精确的召回机制来绕过它。&lt;/p&gt;
&lt;p&gt;查看：&lt;a href="https://github.com/dezgit2025/auto-memory"&gt;GitHub上的auto-memory&lt;/a&gt;。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>