<?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/ca/tags/developer-tools/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ca</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ca/tags/developer-tools/index.xml" rel="self" type="application/rss+xml"/><item><title>El Azure MCP Server Ara és un .mcpb — Instal·la'l sense Cap Runtime</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/</guid><description>L'Azure MCP Server ja està disponible com a MCP Bundle (.mcpb) — descarrega'l, arrossega'l a Claude Desktop i ja està. Sense Node.js, Python ni .NET requerits.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquest post ha estat traduït automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/"&gt;fes clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Saps el que era molest de configurar servidors MCP? Necessitaves un runtime. Node.js per a la versió npm, Python per a pip/uvx, .NET SDK per a la variant dotnet.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;Azure MCP Server acaba de canviar això&lt;/a&gt;. Ara està disponible com a &lt;code&gt;.mcpb&lt;/code&gt; — un MCP Bundle — i la configuració és arrossegar i deixar anar.&lt;/p&gt;
&lt;h2 id="què-és-un-mcp-bundle"&gt;Què és un MCP Bundle?&lt;/h2&gt;
&lt;p&gt;Pensa-hi com una extensió de VS Code (&lt;code&gt;.vsix&lt;/code&gt;) o una extensió de navegador (&lt;code&gt;.crx&lt;/code&gt;), però per a servidors MCP. Un fitxer &lt;code&gt;.mcpb&lt;/code&gt; és un arxiu ZIP autònom que inclou el binari del servidor i totes les seves dependències.&lt;/p&gt;
&lt;h2 id="com-installar-lo"&gt;Com instal·lar-lo&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Descarrega el bundle per a la teva plataforma&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ves a la &lt;a href="https://github.com/microsoft/mcp/releases?q=Azure.Mcp.Server"&gt;pàgina de GitHub Releases&lt;/a&gt; i descarrega el fitxer &lt;code&gt;.mcpb&lt;/code&gt; per al teu OS i arquitectura.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Instal·la a Claude Desktop&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La manera més fàcil: arrossega i deixa anar el fitxer &lt;code&gt;.mcpb&lt;/code&gt; a la finestra de Claude Desktop mentre estàs a la pàgina de configuració d&amp;rsquo;Extensions. Revisa els detalls del servidor, fes clic a Instal·la i confirma.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Autentifica&amp;rsquo;t a Azure&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;h2 id="per-a-començar"&gt;Per a començar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Descarrega&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;Repositori&lt;/strong&gt;: &lt;a href="https://aka.ms/azmcp"&gt;aka.ms/azmcp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Consulta el &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;post complet&lt;/a&gt; per a més detalls.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.118: Copilot CLI Obté Noms de Sessió, Insígnies de Model i TypeScript 7.0 Nightly</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/</guid><description>Visual Studio Code 1.118 és un llançament enfocat en millores de Copilot CLI — noms de sessió, insígnies de model, selecció automàtica de model i opt-in a TypeScript 7.0 nightly.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquest post ha estat traduït automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/"&gt;fes clic aquí&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; és un llançament petit i enfocat — principalment millores de Copilot CLI.&lt;/p&gt;
&lt;h2 id="copilot-cli-les-sessions-ara-tenen-noms-reals"&gt;Copilot CLI: les sessions ara tenen noms reals&lt;/h2&gt;
&lt;p&gt;Les APIs de títol de sessió del SDK de Copilot CLI s&amp;rsquo;utilitzen ara com a font de veritat. Les sessions mostren el nom real del SDK en lloc d&amp;rsquo;etiquetes auto-generades.&lt;/p&gt;
&lt;h2 id="canvia-de-sessió-amb-dreceres-de-teclat"&gt;Canvia de sessió amb dreceres de teclat&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;app d&amp;rsquo;Agents ara té &lt;code&gt;Ctrl+1&lt;/code&gt;, &lt;code&gt;Ctrl+2&lt;/code&gt;, etc. per canviar ràpidament entre sessions.&lt;/p&gt;
&lt;h2 id="insígnies-de-model-al-xat"&gt;Insígnies de model al xat&lt;/h2&gt;
&lt;p&gt;Les respostes de Copilot CLI al panell de xat ara mostren una insígnia de model per veure quin model ha gestionat cada sol·licitud.&lt;/p&gt;
&lt;h2 id="selecció-automàtica-de-model-a-copilot-cli"&gt;Selecció automàtica de model a Copilot CLI&lt;/h2&gt;
&lt;p&gt;La selecció automàtica de model — anteriorment disponible en altres parts de Copilot — ara funciona també a l&amp;rsquo;agent Copilot CLI.&lt;/p&gt;
&lt;h2 id="opt-in-a-typescript-70-nightly"&gt;Opt-in a TypeScript 7.0 nightly&lt;/h2&gt;
&lt;p&gt;Ara pots optar per provar els nightly de TypeScript 7.0 directament des de la configuració de VS Code.&lt;/p&gt;
&lt;p&gt;Consulta les &lt;a href="https://code.visualstudio.com/updates/v1_118"&gt;notes de versió completes&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Foundry Toolboxes: Un únic endpoint per a totes les eines dels teus agents</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</guid><description>Microsoft Foundry acaba de llançar Toolboxes en preview pública — una manera de curar, gestionar i exposar eines d'agents IA a través d'un únic endpoint compatible amb MCP.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquesta publicació ha estat traduïda automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/"&gt;feu clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hi ha un problema que sembla avorrit fins que el pateixes de primera mà: la teva organització està construint múltiples agents d&amp;rsquo;IA, cadascun necessita eines, i cada equip les connecta des de zero. La mateixa integració de cerca web, la mateixa config d&amp;rsquo;Azure AI Search, la mateixa connexió al servidor MCP de GitHub — però en un altre repositori, per un altre equip, amb altres credencials i sense cap governança compartida.&lt;/p&gt;
&lt;p&gt;Microsoft Foundry acaba de llançar &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;Toolboxes&lt;/a&gt; en preview pública, i és una resposta directa a aquest problema.&lt;/p&gt;
&lt;h2 id="què-és-un-toolbox"&gt;Què és un Toolbox?&lt;/h2&gt;
&lt;p&gt;Un Toolbox és un bundle d&amp;rsquo;eines amb nom, reutilitzable, que defineixes una vegada a Foundry i exposes a través d&amp;rsquo;un únic endpoint compatible amb MCP. Qualsevol runtime d&amp;rsquo;agent que parli MCP pot consumir-lo — no estàs bloquejat a Foundry Agents.&lt;/p&gt;
&lt;p&gt;La proposta és simple: &lt;strong&gt;build once, consume anywhere&lt;/strong&gt;. Defineix les eines, configura l&amp;rsquo;autenticació de forma centralitzada, publica l&amp;rsquo;endpoint. Cada agent que necessiti les eines es connecta a l&amp;rsquo;endpoint i les obté totes.&lt;/p&gt;
&lt;h2 id="els-quatre-pilars-dos-disponibles-avui"&gt;Els quatre pilars (dos disponibles avui)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pilar&lt;/th&gt;
&lt;th&gt;Estat&lt;/th&gt;
&lt;th&gt;Què fa&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;Pròximament&lt;/td&gt;
&lt;td&gt;Troba eines aprovades sense buscar manualment&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;Disponible avui&lt;/td&gt;
&lt;td&gt;Agrupa eines en un bundle reutilitzable&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;Disponible avui&lt;/td&gt;
&lt;td&gt;Un únic endpoint MCP exposa totes les eines&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;Pròximament&lt;/td&gt;
&lt;td&gt;Auth centralitzada + observabilitat en totes les crides&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="exemple-pràctic"&gt;Exemple pràctic&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;Cerca documentació i respon a issues de GitHub.&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;Cerca documentació pública&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;Un cop publicat, Foundry et dona un endpoint unificat. Un punt de connexió, totes les eines.&lt;/p&gt;
&lt;h2 id="no-estàs-bloquejat-a-foundry-agents"&gt;No estàs bloquejat a Foundry Agents&lt;/h2&gt;
&lt;p&gt;Els Toolboxes es &lt;strong&gt;creen i gestionen&lt;/strong&gt; a Foundry, però la superfície de consum és el protocol MCP obert. Pots usar-los des d&amp;rsquo;agents personalitzats amb Microsoft Agent Framework o LangGraph, GitHub Copilot i qualsevol runtime que parli MCP.&lt;/p&gt;
&lt;h2 id="per-què-importa-ara"&gt;Per què importa ara&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;onada multi-agent està arribant a producció. Cada nou agent és una nova superfície per a configuració duplicada, credencials desfasades i comportament inconsistent. La base de Build + Consume és suficient per començar a centralitzar. Quan arribi el pilar Govern, tindràs una capa d&amp;rsquo;eines observable i controlada centralment per a tota la teva flota d&amp;rsquo;agents.&lt;/p&gt;
&lt;h2 id="conclusió"&gt;Conclusió&lt;/h2&gt;
&lt;p&gt;Això és aviat — preview pública, SDK Python primer. Però el model és sòlid i el disseny natiu MCP significa que funciona amb les eines que ja estàs construint. Fes una ullada a l&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;anunci oficial&lt;/a&gt; per començar.&lt;/p&gt;</content:encoded></item><item><title>Hooks d'azd en Python, TypeScript i .NET: adéu als scripts de shell</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</guid><description>La CLI d'Azure Developer ara permet escriure hooks en Python, JavaScript, TypeScript o .NET. S'ha acabat canviar de context a Bash per executar un script de migració.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquesta publicació ha estat traduïda automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/"&gt;feu clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si alguna vegada has tingut un projecte completament en .NET i tot i així has hagut d&amp;rsquo;escriure scripts Bash per als hooks d&amp;rsquo;azd, coneixes bé aquell dolor. Per què canviar a sintaxi de shell en un pas de pre-provisioning quan tota la resta del projecte és C#?&lt;/p&gt;
&lt;p&gt;Aquesta frustració té ara solució oficial. L&amp;rsquo;Azure Developer CLI &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;acaba de llançar suport multi-llenguatge per a hooks&lt;/a&gt;, i és exactament tan bo com sona.&lt;/p&gt;
&lt;h2 id="hooks-breument"&gt;Hooks, breument&lt;/h2&gt;
&lt;p&gt;Els hooks són scripts que s&amp;rsquo;executen en punts clau del cicle de vida d&amp;rsquo;&lt;code&gt;azd&lt;/code&gt; — abans del provisioning, després del desplegament, i més. Es defineixen a &lt;code&gt;azure.yaml&lt;/code&gt; i permeten injectar lògica personalitzada sense modificar la CLI.&lt;/p&gt;
&lt;p&gt;Abans només s&amp;rsquo;admetien Bash i PowerShell. Ara pots usar &lt;strong&gt;Python, JavaScript, TypeScript o .NET&lt;/strong&gt; — i &lt;code&gt;azd&lt;/code&gt; s&amp;rsquo;encarrega de la resta automàticament.&lt;/p&gt;
&lt;h2 id="com-funciona-la-detecció"&gt;Com funciona la detecció&lt;/h2&gt;
&lt;p&gt;Simplement apuntes el hook a un fitxer i &lt;code&gt;azd&lt;/code&gt; infereix el llenguatge per l&amp;rsquo;extensió:&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;Sense configuració addicional. Si l&amp;rsquo;extensió és ambigua, pots afegir &lt;code&gt;kind: python&lt;/code&gt; (o el que correspongui) per especificar-ho explícitament.&lt;/p&gt;
&lt;h2 id="detalls-importants-per-llenguatge"&gt;Detalls importants per llenguatge&lt;/h2&gt;
&lt;h3 id="python"&gt;Python&lt;/h3&gt;
&lt;p&gt;Col·loca un &lt;code&gt;requirements.txt&lt;/code&gt; o &lt;code&gt;pyproject.toml&lt;/code&gt; al costat del script (o en qualsevol directori pare) i &lt;code&gt;azd&lt;/code&gt; crea un entorn virtual, instal·la dependències i executa l&amp;rsquo;script.&lt;/p&gt;
&lt;h3 id="javascript-i-typescript"&gt;JavaScript i TypeScript&lt;/h3&gt;
&lt;p&gt;El mateix patró — posa un &lt;code&gt;package.json&lt;/code&gt; a prop del script i &lt;code&gt;azd&lt;/code&gt; executarà &lt;code&gt;npm install&lt;/code&gt; primer. Per a TypeScript, usa &lt;code&gt;npx tsx&lt;/code&gt; sense pas de compilació ni &lt;code&gt;tsconfig.json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="net"&gt;.NET&lt;/h3&gt;
&lt;p&gt;Dos modes disponibles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mode projecte&lt;/strong&gt;: Si hi ha un &lt;code&gt;.csproj&lt;/code&gt; al costat del script, &lt;code&gt;azd&lt;/code&gt; executa &lt;code&gt;dotnet restore&lt;/code&gt; i &lt;code&gt;dotnet build&lt;/code&gt; automàticament.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mode single-file&lt;/strong&gt;: En .NET 10+, pots posar un fitxer &lt;code&gt;.cs&lt;/code&gt; independent i s&amp;rsquo;executa directament amb &lt;code&gt;dotnet run script.cs&lt;/code&gt;. Sense fitxer de projecte.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="configuració-per-executor"&gt;Configuració per executor&lt;/h2&gt;
&lt;p&gt;Cada llenguatge admet un bloc &lt;code&gt;config&lt;/code&gt; opcional:&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="per-què-importa-per-a-desenvolupadors-net"&gt;Per què importa per a desenvolupadors .NET&lt;/h2&gt;
&lt;p&gt;Els hooks eren l&amp;rsquo;últim lloc d&amp;rsquo;un projecte basat en azd que t&amp;rsquo;obligava a usar un altre llenguatge. Ara tot el pipeline de desplegament pot viure en un sol llenguatge. Pots reutilitzar les teves utilitats .NET existents als hooks, referenciar llibreries compartides i evitar el manteniment de scripts de shell.&lt;/p&gt;
&lt;h2 id="conclusió"&gt;Conclusió&lt;/h2&gt;
&lt;p&gt;És un d&amp;rsquo;aquells canvis que semblen petits però que eliminen molta fricció del dia a dia amb azd. El suport multi-llenguatge per a hooks ja està disponible — consulta el &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;post oficial&lt;/a&gt; per a la documentació completa.&lt;/p&gt;</content:encoded></item><item><title>Windows App Dev CLI v0.3: F5 des del terminal i automatització de UI per a agents</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/</guid><description>Windows App Development CLI v0.3 arriba amb winapp run per llançar i depurar des del terminal, winapp ui per a l'automatització de la interfície, i un paquet NuGet que fa funcionar dotnet run amb apps empaquetades.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquesta publicació ha estat traduïda automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/"&gt;feu clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;experiència F5 de Visual Studio és fantàstica. Però haver d&amp;rsquo;obrir VS només per llançar i depurar una app Windows empaquetada és excessiu quan estàs en un pipeline de CI, executant un workflow automatitzat, o quan un agent d&amp;rsquo;IA fa les proves.&lt;/p&gt;
&lt;p&gt;Windows App Development CLI v0.3 acaba de &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;sortir&lt;/a&gt; i ho aborda directament amb dues funcions destacades: &lt;code&gt;winapp run&lt;/code&gt; i &lt;code&gt;winapp ui&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="winapp-run-f5-des-de-qualsevol-lloc"&gt;winapp run: F5 des de qualsevol lloc&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;winapp run&lt;/code&gt; pren una carpeta d&amp;rsquo;app sense empaquetar i un manifest, i fa tot el que VS fa en un debug launch: registra un paquet loose, llança l&amp;rsquo;app i preserva el &lt;code&gt;LocalState&lt;/code&gt; entre 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;winapp run ./bin/Debug
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Funciona per a WinUI, WPF, WinForms, Console, Avalonia i més. Els modes estan pensats per a developers i workflows automatitzats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--detach&lt;/code&gt;&lt;/strong&gt;: Llança i retorna el control al terminal immediatament.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--unregister-on-exit&lt;/code&gt;&lt;/strong&gt;: Neteja el paquet registrat en tancar l&amp;rsquo;app.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--debug-output&lt;/code&gt;&lt;/strong&gt;: Captura missatges &lt;code&gt;OutputDebugString&lt;/code&gt; i excepcions en temps real.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="nou-paquet-nuget-dotnet-run-per-a-apps-empaquetades"&gt;Nou paquet NuGet: dotnet run per a apps empaquetades&lt;/h2&gt;
&lt;p&gt;Per a developers .NET hi ha un nou paquet NuGet: &lt;code&gt;Microsoft.Windows.SDK.BuildTools.WinApp&lt;/code&gt;. Afegeix-lo al projecte i &lt;code&gt;dotnet run&lt;/code&gt; gestiona tot l&amp;rsquo;inner loop: build, preparar un paquet loose-layout, registrar a Windows i llançar — tot en un pas.&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;winapp init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# o&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;h2 id="winapp-ui-ui-automation-des-de-la-línia-de-comandes"&gt;winapp ui: UI Automation des de la línia de comandes&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;winapp ui&lt;/code&gt; et dóna accés complet d&amp;rsquo;UI Automation a qualsevol app Windows en execució — WPF, WinForms, Win32, Electron, WinUI3. Pots llistar finestres, navegar l&amp;rsquo;arbre de UI Automation, trobar elements, fer clics, prendre captures de pantalla i esperar l&amp;rsquo;aparició d&amp;rsquo;elements.&lt;/p&gt;
&lt;p&gt;Combina &lt;code&gt;winapp ui&lt;/code&gt; amb &lt;code&gt;winapp run&lt;/code&gt; i tens un workflow complet build → llançar → verificar des del terminal. Un agent pot executar la teva app, inspeccionar l&amp;rsquo;estat de la UI i validar el resultat.&lt;/p&gt;
&lt;h2 id="altres-novetats"&gt;Altres novetats&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp unregister&lt;/code&gt;&lt;/strong&gt;: Elimina un paquet sideloaded quan acabes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp manifest add-alias&lt;/code&gt;&lt;/strong&gt;: Afegeix un àlies per llançar l&amp;rsquo;app per nom des del terminal.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tab completion&lt;/strong&gt;: Configura completat amb una sola comanda per a PowerShell.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="com-obtenir-ho"&gt;Com obtenir-ho&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;# o&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;Consulta el &lt;a href="https://github.com/microsoft/WinAppCli"&gt;repositori a GitHub&lt;/a&gt; per a documentació completa i l&amp;rsquo;&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;anunci original&lt;/a&gt; per a tots els detalls.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.117: Els agents s'estan guanyant les seves pròpies branques Git i això m'encanta</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/</guid><description>VS Code 1.117 incorpora aïllament de worktrees per a sessions d'agents, mode Autopilot persistent i suport per a subagents. El flux de treball de codificació agentica acaba de fer un salt seriós.</description><content:encoded>&lt;p&gt;La línia entre &amp;ldquo;assistència IA&amp;rdquo; i &amp;ldquo;company de feina IA&amp;rdquo; cada cop és més fina. VS Code 1.117 acaba d&amp;rsquo;arribar i les &lt;a href="https://code.visualstudio.com/updates/v1_117"&gt;notes completes de la versió&lt;/a&gt; venen carregades, però el missatge és clar: els agents s&amp;rsquo;estan convertint en ciutadans de primera classe del teu flux de treball de desenvolupament.&lt;/p&gt;
&lt;p&gt;Això és el que realment importa.&lt;/p&gt;
&lt;h2 id="el-mode-autopilot-finalment-recorda-la-teva-preferència"&gt;El mode Autopilot finalment recorda la teva preferència&lt;/h2&gt;
&lt;p&gt;Abans, havies de reactivar Autopilot cada vegada que començaves una sessió nova. Molest. Ara el teu mode de permisos es manté entre sessions i pots configurar el valor per defecte.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;Agent Host admet tres configuracions de sessió:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Per defecte&lt;/strong&gt; — les eines demanen confirmació abans d&amp;rsquo;executar-se&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bypass&lt;/strong&gt; — aprova automàticament tot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autopilot&lt;/strong&gt; — totalment autònom, respon les seves pròpies preguntes i continua fins que la tasca s&amp;rsquo;acaba&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si estàs preparant un projecte .NET nou amb migracions, Docker i CI, configura-ho una vegada en mode Autopilot i oblida-t&amp;rsquo;en. Aquesta preferència es manté.&lt;/p&gt;
&lt;h2 id="aïllament-de-worktree-i-git-per-a-sessions-dagents"&gt;Aïllament de worktree i Git per a sessions d&amp;rsquo;agents&lt;/h2&gt;
&lt;p&gt;Aquesta és la gran novetat. Les sessions d&amp;rsquo;agents ara admeten un aïllament complet de worktree i Git. Això vol dir que, quan un agent treballa en una tasca, obté la seva pròpia branca i el seu propi directori de treball. La teva branca principal queda intacta.&lt;/p&gt;
&lt;p&gt;I encara millor: Copilot CLI genera noms de branca significatius per a aquestes sessions de worktree. Res de &lt;code&gt;agent-session-abc123&lt;/code&gt;. Obtens alguna cosa que realment descriu el que l&amp;rsquo;agent està fent.&lt;/p&gt;
&lt;p&gt;Per als desenvolupadors .NET que treballen amb diverses branques de funcionalitat o arreglen errors mentre corre una tasca llarga d&amp;rsquo;esqueletatge de projecte, això canvia les regles del joc. Pots tenir un agent construint els controladors de l&amp;rsquo;API en un worktree mentre tu depures un problema a la capa de serveis en un altre. Sense conflictes. Sense &lt;code&gt;stash&lt;/code&gt;. Sense embolics.&lt;/p&gt;
&lt;h2 id="subagents-i-equips-dagents"&gt;Subagents i equips d&amp;rsquo;agents&lt;/h2&gt;
&lt;p&gt;El protocol Agent Host ara admet subagents. Un agent pot engegar altres agents per encarregar-los parts d&amp;rsquo;una tasca. Pensa-ho com delegar: el teu agent principal coordina i els agents especialitzats fan les peces concretes.&lt;/p&gt;
&lt;p&gt;Això encara és una funcionalitat inicial, però el potencial per als fluxos de treball .NET és evident. Imagina un agent gestionant les teves migracions d&amp;rsquo;EF Core mentre un altre prepara els tests d&amp;rsquo;integració. Encara no hi som del tot, però el suport al protocol que arriba ara farà que les eines segueixin ràpidament.&lt;/p&gt;
&lt;h2 id="la-sortida-del-terminal-sinclou-automàticament-quan-els-agents-envien-entrada"&gt;La sortida del terminal s&amp;rsquo;inclou automàticament quan els agents envien entrada&lt;/h2&gt;
&lt;p&gt;Petita, però important. Quan un agent envia entrada al terminal, la sortida del terminal s&amp;rsquo;inclou automàticament al context. Abans, l&amp;rsquo;agent havia de fer un torn extra només per llegir què havia passat.&lt;/p&gt;
&lt;p&gt;Si mai has vist un agent executar &lt;code&gt;dotnet build&lt;/code&gt;, fallar i després fer una altra ronda només per llegir l&amp;rsquo;error, aquesta fricció desapareix. Ho veu de seguida i reacciona.&lt;/p&gt;
&lt;h2 id="lapp-dagents-sactualitza-sola-a-macos"&gt;L&amp;rsquo;app d&amp;rsquo;Agents s&amp;rsquo;actualitza sola a macOS&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;aplicació d&amp;rsquo;Agents independent per a macOS ara s&amp;rsquo;actualitza sola. Ja no cal descarregar noves versions manualment. Simplement es manté al dia.&lt;/p&gt;
&lt;h2 id="el-que-val-la-pena-saber-de-la-resta"&gt;El que val la pena saber de la resta&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Els hovers de package.json&lt;/strong&gt; ara mostren tant la versió instal·lada com la més recent. Útil si gestiones eines npm al costat dels teus projectes .NET.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Les imatges als comentaris JSDoc&lt;/strong&gt; es renderitzen correctament als hovers i a les completes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Les sessions de Copilot CLI&lt;/strong&gt; ara indiquen si s&amp;rsquo;han creat des de VS Code o externament, cosa útil quan saltes entre terminals.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot CLI, Claude Code i Gemini CLI&lt;/strong&gt; es reconeixen com a tipus de shell. L&amp;rsquo;editor sap què estàs executant.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="la-conclusió"&gt;La conclusió&lt;/h2&gt;
&lt;p&gt;VS Code 1.117 no és un llançament ple de funcions espectaculars. És infraestructura. L&amp;rsquo;aïllament de worktrees, els permisos persistents i els protocols de subagents són els blocs de construcció d&amp;rsquo;un flux de treball on els agents gestionen tasques reals en paral·lel sense trepitjar-se el codi.&lt;/p&gt;
&lt;p&gt;Si estàs construint amb .NET i encara no t&amp;rsquo;has llançat al flux de treball agentic, sincerament, ara és el moment de començar.&lt;/p&gt;</content:encoded></item><item><title>Deixeu de fer de cangur al vostre terminal: el mode desconnectat d'Aspire canvia el flux de treball</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/</guid><description>Aspire 13.2 us permet executar el vostre AppHost en segon pla i recuperar el vostre terminal. Combinat amb les noves ordres de la CLI i el suport d'agents, això és més gran del que sembla.</description><content:encoded>&lt;p&gt;Cada vegada que executeu un Aspire AppHost, el vostre terminal desapareixerà. Tancat. Ocupat fins que en feu Ctrl+C. Necessites executar una comanda ràpida? Obre una altra pestanya. Voleu comprovar els registres? Una altra pestanya. És una petita fricció que s&amp;rsquo;acumula ràpidament.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 soluciona això. James Newton-King &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;va escriure tots els detalls&lt;/a&gt;, i sincerament, aquesta és una d&amp;rsquo;aquestes característiques que canvia immediatament la manera de treballar.&lt;/p&gt;
&lt;h2 id="mode-desconnectat-una-comanda-terminal-enrere"&gt;Mode desconnectat: una comanda, terminal enrere&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;Aquesta és l&amp;rsquo;abreviatura de &lt;code&gt;aspire run --detach&lt;/code&gt;. El vostre AppHost s&amp;rsquo;inicia en segon pla i recupereu el terminal immediatament. Sense pestanyes addicionals. Sense multiplexor de terminals. Només la teva indicació, llest per començar.&lt;/p&gt;
&lt;h2 id="gestionant-el-que-sestà-executant"&gt;Gestionant el que s&amp;rsquo;està executant&lt;/h2&gt;
&lt;p&gt;Aquesta és la qüestió: executar-se en segon pla només és útil si realment podeu gestionar el que hi ha. Aspire 13.2 ofereix un conjunt complet d&amp;rsquo;ordres CLI per exactament això:&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;Això converteix l&amp;rsquo;Aspire CLI en un gestor de processos adequat. Podeu iniciar diversos AppHosts, comprovar el seu estat, seguir els seus registres i tancar-los, tot des d&amp;rsquo;una única sessió de terminal.&lt;/p&gt;
&lt;h2 id="combina-ho-amb-el-mode-aïllat"&gt;Combina-ho amb el mode aïllat&lt;/h2&gt;
&lt;p&gt;El mode separat es combina de manera natural amb el mode aïllat. Voleu executar dues instàncies del mateix projecte en segon pla sense conflictes de ports?&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;Cadascun obté ports aleatoris, secrets separats i el seu propi cicle de vida. Utilitzeu &lt;code&gt;aspire ps&lt;/code&gt; per veure tots dos, &lt;code&gt;aspire stop&lt;/code&gt; per matar el que hàgiu acabat.&lt;/p&gt;
&lt;h2 id="per-què-això-és-enorme-per-als-agents-de-codificació"&gt;Per què això és enorme per als agents de codificació&lt;/h2&gt;
&lt;p&gt;Aquí és on es posa realment interessant. Un agent de codificació que treballa al vostre terminal ara pot:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Inicieu l&amp;rsquo;aplicació amb &lt;code&gt;aspire start&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Consulta el seu estat amb &lt;code&gt;aspire describe&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Comproveu els registres amb &lt;code&gt;aspire logs&lt;/code&gt; per diagnosticar problemes&lt;/li&gt;
&lt;li&gt;Atureu-ho amb &lt;code&gt;aspire stop&lt;/code&gt; quan estigui acabat&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tot sense perdre la sessió del terminal. Abans del mode desconnectat, un agent que executava el vostre AppHost es bloquejaria fora del seu propi terminal. Ara pot començar, observar, iterar i netejar, exactament com voldríeu que funcionés un agent autònom.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;equip d&amp;rsquo;Aspire es va inclinar en això. L&amp;rsquo;execució de &lt;code&gt;aspire agent init&lt;/code&gt; configura un fitxer d&amp;rsquo;habilitats d&amp;rsquo;Aspire que ensenya als agents aquestes ordres. Així, eines com l&amp;rsquo;agent de codificació de Copilot poden gestionar les vostres càrregues de treball d&amp;rsquo;Aspire des de la caixa.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;El mode desconnectat és una actualització del flux de treball disfressada com una simple bandera. Atureu el canvi de context entre terminals, els agents deixen de bloquejar-se i les noves ordres CLI us ofereixen una visibilitat real del que s&amp;rsquo;està executant. És pràctic, és net i fa que el cicle de desenvolupament diari sigui notablement més suau.&lt;/p&gt;
&lt;p&gt;Llegiu la &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;publicació completa&lt;/a&gt; per obtenir tots els detalls i agafeu Aspire 13.2 amb &lt;code&gt;aspire update --self&lt;/code&gt;.&lt;/p&gt;</content:encoded></item><item><title>Docker Sandbox permet als agents Copilot refactoritzar el vostre codi sense posar en risc la vostra màquina</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</guid><description>Docker Sandbox ofereix als agents de GitHub Copilot una microVM segura per funcionar amb refactorització: sense sol·licituds de permís, sense risc per al vostre amfitrió. Heus aquí per què això ho canvia tot per a la modernització de.NET a gran escala.</description><content:encoded>&lt;p&gt;Si heu utilitzat el mode d&amp;rsquo;agent de Copilot per a qualsevol cosa més enllà de petites edicions, coneixeu el dolor. Cada escriptura de fitxers, cada ordre del terminal: un altre indicador de permís. Ara imagineu-ho fent servir 50 projectes. No és divertit.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;equip d&amp;rsquo;Azure acaba de publicar una publicació sobre &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 for GitHub Copilot agents&lt;/a&gt;, i sincerament, aquesta és una de les millores d&amp;rsquo;eines d&amp;rsquo;agents més pràctiques que he vist. Utilitza microVMs per oferir a Copilot un entorn totalment aïllat on es pot desenredar: instal·lar paquets, executar compilacions, executar proves, sense tocar el vostre sistema amfitrió.&lt;/p&gt;
&lt;h2 id="què-us-ofereix-realment-docker-sandbox"&gt;Què us ofereix realment Docker Sandbox&lt;/h2&gt;
&lt;p&gt;La idea bàsica és senzilla: engegueu una microVM lleugera amb un entorn Linux complet, sincronitzeu-hi el vostre espai de treball i deixeu que l&amp;rsquo;agent Copilot operi lliurement a l&amp;rsquo;interior. Quan s&amp;rsquo;hagi acabat, torna a canviar la sincronització.&lt;/p&gt;
&lt;p&gt;Això és el que fa que sigui més que &amp;ldquo;executar coses en un contenidor&amp;rdquo;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sincronització bidireccional de l&amp;rsquo;espai de treball&lt;/strong&gt; que conserva camins absoluts. L&amp;rsquo;estructura del vostre projecte sembla idèntica dins del sandbox. No hi ha errors de compilació relacionats amb el camí.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dimoni Docker privat&lt;/strong&gt; que s&amp;rsquo;executa dins de la microVM. L&amp;rsquo;agent pot construir i executar contenidors sense muntar mai el sòcol Docker del vostre host. Això és un gran problema per a la seguretat.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proxis de filtratge HTTP/HTTPS&lt;/strong&gt; que controlen a què pot arribar l&amp;rsquo;agent a la xarxa. Tu decideixes quins registres i punts finals es permeten. Atacs a la cadena de subministrament d&amp;rsquo;un canalla &lt;code&gt;npm install&lt;/code&gt; dins del sandbox? Bloquejat.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mode YOLO&lt;/strong&gt; — sí, així l&amp;rsquo;anomenen. L&amp;rsquo;agent s&amp;rsquo;executa sense sol·licituds de permís perquè literalment no pot danyar el vostre amfitrió. Tota acció destructiva està continguda.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="per-què-els-desenvolupadorsnet-haurien-de-preocupar-se"&gt;Per què els desenvolupadors.NET haurien de preocupar-se&lt;/h2&gt;
&lt;p&gt;Penseu en el treball de modernització que tants equips s&amp;rsquo;enfronten ara mateix. Teniu una solució.NET Framework amb 30 projectes i l&amp;rsquo;heu de traslladar a.NET 9. Això són centenars de canvis de fitxers: fitxers de projecte, actualitzacions d&amp;rsquo;espais de noms, substitucions d&amp;rsquo;API, migracions NuGet.&lt;/p&gt;
&lt;p&gt;Amb Docker Sandbox, podeu apuntar un agent Copilot a un projecte, deixar-lo refactoritzar lliurement dins de la microVM, executar &lt;code&gt;dotnet build&lt;/code&gt; i &lt;code&gt;dotnet test&lt;/code&gt; per validar i acceptar només els canvis que funcionen realment. No hi ha cap risc que accidentalment destrueixi el vostre entorn de desenvolupament local mentre experimenteu.&lt;/p&gt;
&lt;p&gt;La publicació també descriu l&amp;rsquo;execució d&amp;rsquo;una &lt;strong&gt;flota d&amp;rsquo;agents paral·lels&lt;/strong&gt;, cadascun en el seu propi sandbox, abordant diferents projectes simultàniament. Per a grans solucions.NET o arquitectures de microserveis, això suposa un estalvi de temps enorme. Un agent per servei, tots en funcionament aïllat, tots validats de manera independent.&lt;/p&gt;
&lt;h2 id="langle-de-seguretat-és-important"&gt;L&amp;rsquo;angle de seguretat és important&lt;/h2&gt;
&lt;p&gt;Això és el que la majoria de la gent passa per alt: quan deixeu que un agent d&amp;rsquo;IA executi ordres arbitràries, hi confieu amb tota la vostra màquina. Docker Sandbox canvia aquest model. L&amp;rsquo;agent obté total autonomia dins d&amp;rsquo;un entorn d&amp;rsquo;ús. El servidor intermediari de xarxa garanteix que només es pot extreure de fonts aprovades. El vostre sistema de fitxers amfitrió, el dimoni Docker i les credencials no es toquen.&lt;/p&gt;
&lt;p&gt;Per als equips amb requisits de compliment, i això és la majoria de les botigues.NET empresarials, aquesta és la diferència entre &amp;ldquo;no podem utilitzar IA agència&amp;rdquo; i &amp;ldquo;podem adoptar-la de manera segura&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="per-emportar"&gt;Per emportar&lt;/h2&gt;
&lt;p&gt;Docker Sandbox resol la tensió fonamental de la codificació agentica: els agents necessiten llibertat per ser útils, però la llibertat a la vostra màquina amfitriona és perillosa. Les microVM us ofereixen tots dos. Si esteu planejant qualsevol refactorització o modernització de.NET a gran escala, val la pena configurar-la ara. La combinació de la intel·ligència de codi de Copilot amb un entorn d&amp;rsquo;execució segur és exactament el que els equips de producció estaven esperant.&lt;/p&gt;</content:encoded></item><item><title>Les eines MCP d'Azure s'incorporen ara a Visual Studio 2022: no es requereix cap extensió</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/</guid><description>Les eines d'Azure MCP s'envien com a part de la càrrega de treball de desenvolupament d'Azure a Visual Studio 2022. Més de 230 eines, 45 serveis d'Azure, sense extensions per instal·lar.</description><content:encoded>&lt;p&gt;Si heu estat utilitzant les eines de l&amp;rsquo;Azure MCP a Visual Studio mitjançant l&amp;rsquo;extensió separada, ja coneixeu l&amp;rsquo;exercici: instal·leu el VSIX, reinicieu, espereu que no es trenqui, gestioneu els desajustos de versions. Aquesta fricció ha desaparegut.&lt;/p&gt;
&lt;p&gt;Yun Jung Choi &lt;a href="https://devblogs.microsoft.com/visualstudio/azure-mcp-tools-now-ship-built-into-visual-studio-2022-no-extension-required/"&gt;va anunciar&lt;/a&gt; que les eines d&amp;rsquo;Azure MCP ara s&amp;rsquo;envien directament com a part de la càrrega de treball de desenvolupament d&amp;rsquo;Azure a Visual Studio 2022. Sense extensió. No VSIX. No reinicia el ball.&lt;/p&gt;
&lt;h2 id="què-significa-realment-això"&gt;Què significa realment això&lt;/h2&gt;
&lt;p&gt;A partir de la versió 17.14.30 de Visual Studio 2022, l&amp;rsquo;Azure MCP Server s&amp;rsquo;inclou amb la càrrega de treball de desenvolupament d&amp;rsquo;Azure. Si ja teniu aquesta càrrega de treball instal·lada, només cal que l&amp;rsquo;activeu a GitHub Copilot Chat i ja heu acabat.&lt;/p&gt;
&lt;p&gt;Més de 230 eines en 45 serveis Azure, accessibles directament des de la finestra de xat. Enumereu els vostres comptes d&amp;rsquo;emmagatzematge, implementeu una aplicació ASP.NET Core, diagnostiqueu problemes del servei d&amp;rsquo;aplicacions, consulteu Log Analytics, tot sense obrir una pestanya del navegador.&lt;/p&gt;
&lt;h2 id="per-què-això-importa-més-del-que-sembla"&gt;Per què això importa més del que sembla&lt;/h2&gt;
&lt;p&gt;Això és el que passa amb les eines per a desenvolupadors: cada pas addicional és fricció i la fricció mata l&amp;rsquo;adopció. Tenir MCP com a extensió independent significava desajustos de versions, errors d&amp;rsquo;instal·lació i una cosa més a mantenir actualitzada. Incorporar-lo a la càrrega de treball significa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Camí d&amp;rsquo;actualització únic&lt;/strong&gt; mitjançant l&amp;rsquo;instal·lador de Visual Studio&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sense deriva de versió&lt;/strong&gt; entre l&amp;rsquo;extensió i l&amp;rsquo;IDE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sempre actual&lt;/strong&gt;: el servidor MCP s&amp;rsquo;actualitza amb versions regulars de VS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Per als equips que s&amp;rsquo;estandarditzen a Azure, això és un gran problema. Instal·leu la càrrega de treball una vegada, activeu les eines i hi són per a cada sessió.&lt;/p&gt;
&lt;h2 id="què-pots-fer-amb-ell"&gt;Què pots fer amb ell&lt;/h2&gt;
&lt;p&gt;Les eines cobreixen tot el cicle de vida del desenvolupament mitjançant Copilot Chat:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Aprendre&lt;/strong&gt;: pregunteu sobre els serveis d&amp;rsquo;Azure, les pràctiques recomanades i els patrons d&amp;rsquo;arquitectura&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disseny i desenvolupament&lt;/strong&gt;: obteniu recomanacions de servei, configureu el codi de l&amp;rsquo;aplicació&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Desplega&lt;/strong&gt;: proveïu recursos i implementeu-los directament des de l&amp;rsquo;IDE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolució de problemes&lt;/strong&gt;: consulteu registres, comproveu l&amp;rsquo;estat dels recursos, diagnosticeu problemes de producció&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un exemple ràpid: escriviu això a 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 truca a les eines d&amp;rsquo;Azure MCP darrere de les escenes, consulta les vostres subscripcions i retorna una llista amb format amb noms, ubicacions i SKU. No cal cap portal.&lt;/p&gt;
&lt;h2 id="com-activar-lo"&gt;Com activar-lo&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Actualització a Visual Studio 2022 &lt;strong&gt;17.14.30&lt;/strong&gt; o superior&lt;/li&gt;
&lt;li&gt;Assegureu-vos que la càrrega de treball &lt;strong&gt;Desenvolupament d&amp;rsquo;Azure&lt;/strong&gt; estigui instal·lada&lt;/li&gt;
&lt;li&gt;Obriu GitHub Copilot Chat&lt;/li&gt;
&lt;li&gt;Feu clic al botó &lt;strong&gt;Selecciona eines&lt;/strong&gt; (la icona de dues claus)&lt;/li&gt;
&lt;li&gt;Activa &lt;strong&gt;Servidor MCP d&amp;rsquo;Azure&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Això és tot. Es manté activat durant les sessions.&lt;/p&gt;
&lt;h2 id="una-advertència"&gt;Una advertència&lt;/h2&gt;
&lt;p&gt;Les eines estan desactivades de manera predeterminada: heu d&amp;rsquo;activar-les. I les eines específiques de VS 2026 no estan disponibles a VS 2022. La disponibilitat de les eines també depèn dels vostres permisos de subscripció a Azure, igual que el portal.&lt;/p&gt;
&lt;h2 id="la-imatge-més-gran"&gt;La imatge més gran&lt;/h2&gt;
&lt;p&gt;Això forma part d&amp;rsquo;una tendència clara: MCP s&amp;rsquo;està convertint en la forma estàndard d&amp;rsquo;aprofitar les eines de núvol en els IDE de desenvolupadors. Ja hem vist la &lt;a href="https://devblogs.microsoft.com/azure-sdk/announcing-azure-mcp-server-2-0-stable-release/"&gt;versión estable d&amp;rsquo;Azure MCP Server 2.0&lt;/a&gt; i les integracions MCP a VS Code i altres editors. Tenir-lo integrat al sistema de càrrega de treball de Visual Studio és la progressió natural.&lt;/p&gt;
&lt;p&gt;Per als desenvolupadors de.NET que vivim a Visual Studio, això elimina un altre motiu per canviar de context al portal Azure. I sincerament, com menys canvis de pestanya, millor.&lt;/p&gt;</content:encoded></item><item><title>azd update: una comanda per controlar tots els vostres gestors de paquets</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/azd-update-universal-upgrade-command/</guid><description>L'Azure Developer CLI ara té una ordre d'actualització universal que funciona independentment de com l'hagueu instal·lat: winget, Homebrew, Chocolatey o script d'instal·lació.</description><content:encoded>&lt;p&gt;Sabeu que el missatge &amp;ldquo;Hi ha una versió nova d&amp;rsquo;azd disponible&amp;rdquo; que apareix cada poques setmanes? El que descarteu perquè no recordeu si vau instal·lar &lt;code&gt;azd&lt;/code&gt; mitjançant winget, Homebrew o aquell script curl que vau executar fa sis mesos? Sí, finalment s&amp;rsquo;ha arreglat.&lt;/p&gt;
&lt;p&gt;Microsoft acaba d&amp;rsquo;enviar &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;&lt;code&gt;azd update&lt;/code&gt;&lt;/a&gt;: una ordre única que actualitza l&amp;rsquo;Azure Developer CLI a la darrera versió, independentment de com l&amp;rsquo;haveu instal·lat originalment. Windows, macOS, Linux, no importa. Una ordre.&lt;/p&gt;
&lt;h2 id="com-funciona"&gt;Com funciona&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;Això és tot. Si voleu un accés anticipat a noves funcions, podeu canviar a la creació diària d&amp;rsquo;insiders:&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;L&amp;rsquo;ordre detecta el vostre mètode d&amp;rsquo;instal·lació actual i utilitza el mecanisme d&amp;rsquo;actualització adequat sota el capó. No més &amp;ldquo;espera, he fet servir winget o choco en aquesta màquina?&amp;rdquo;&lt;/p&gt;
&lt;h2 id="la-petita-captura"&gt;La petita captura&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd update&lt;/code&gt; s&amp;rsquo;envia a partir de la versió 1.23.x. Si teniu una versió anterior, haureu de fer una darrera actualització manual mitjançant el vostre mètode d&amp;rsquo;instal·lació original. Després d&amp;rsquo;això, &lt;code&gt;azd update&lt;/code&gt; s&amp;rsquo;encarrega de tot el futur.&lt;/p&gt;
&lt;p&gt;Comproveu la vostra versió actual amb &lt;code&gt;azd version&lt;/code&gt;. Si necessiteu una instal·lació nova, els &lt;a href="https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd"&gt;documents d&amp;rsquo;instal·lació&lt;/a&gt; us cobreixen.&lt;/p&gt;
&lt;h2 id="per-què-és-important"&gt;Per què és important&lt;/h2&gt;
&lt;p&gt;Aquesta és una petita millora de la qualitat de vida, però per a aquells de nosaltres que utilitzem &lt;code&gt;azd&lt;/code&gt; diàriament per desplegar agents d&amp;rsquo;IA i aplicacions Aspire a Azure, mantenir-se al dia significa menys moments &amp;ldquo;aquest error ja s&amp;rsquo;ha solucionat a la darrera versió&amp;rdquo;. Una cosa menys per pensar.&lt;/p&gt;
&lt;p&gt;Llegiu l&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;anunci complet&lt;/a&gt; i la &lt;a href="https://blog.jongallant.com/2026/04/azd-update"&gt;immersió més profunda&lt;/a&gt; de Jon Gallant per a més context.&lt;/p&gt;</content:encoded></item><item><title>.NET Aspire 13.2 vol ser el millor amic del vostre agent d'IA</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/</guid><description>Aspire 13.2 s'inclou tot en el desenvolupament agent: sortida CLI estructurada, execucions aïllades, entorns de curació automàtica i dades completes d'OpenTelemetry perquè els vostres agents d'IA puguin crear, executar i observar les vostres aplicacions.</description><content:encoded>&lt;p&gt;Coneixeu aquell moment en què el vostre agent de codificació d&amp;rsquo;IA escriu un codi sòlid, us emocioneu i després es desfà completament intentant &lt;em&gt;executar&lt;/em&gt; la cosa? Conflictes de ports, processos fantasma, variables d&amp;rsquo;entorn incorrectes: de sobte, el vostre agent està cremant fitxes per resoldre problemes d&amp;rsquo;inici en lloc de crear funcions.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;equip d&amp;rsquo;Aspire acaba de publicar una &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;publicació molt atenta&lt;/a&gt; sobre exactament aquest problema, i la seva resposta és convincent: Aspire 13.2 està dissenyat no només per a humans, sinó per a agents d&amp;rsquo;IA.&lt;/p&gt;
&lt;h2 id="el-problema-és-real"&gt;El problema és real&lt;/h2&gt;
&lt;p&gt;Els agents d&amp;rsquo;IA són increïbles per escriure codi. Però enviar una aplicació de pila completa que funcioni implica molt més que generar fitxers. Heu d&amp;rsquo;iniciar els serveis en l&amp;rsquo;ordre correcte, gestionar ports, establir variables d&amp;rsquo;entorn, connectar bases de dades i obtenir comentaris quan les coses es trenquin. Ara mateix, la majoria d&amp;rsquo;agents gestionen tot això mitjançant prova i error: executant ordres, llegint la sortida d&amp;rsquo;error, tornant-ho a provar.&lt;/p&gt;
&lt;p&gt;Superposem instruccions de Markdown, habilitats personalitzades i indicacions per intentar guiar-les, però són imprevisibles, no es poden compilar i costen fitxes només per analitzar-les. L&amp;rsquo;equip d&amp;rsquo;Aspire va clavar la visió bàsica: els agents necessiten &lt;strong&gt;compiladors i API estructurades&lt;/strong&gt;, no més Markdown.&lt;/p&gt;
&lt;h2 id="aspira-com-a-infraestructura-dagents"&gt;Aspira com a infraestructura d&amp;rsquo;agents&lt;/h2&gt;
&lt;p&gt;Això és el que aporta Aspire 13.2 a la taula de desenvolupament agent:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La vostra pila sencera en codi escrit.&lt;/strong&gt; L&amp;rsquo;AppHost defineix la vostra topologia completa: API, frontend, base de dades, memòria cau, en TypeScript o C# compilable:&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;Un agent pot llegir-ho per entendre la topologia de l&amp;rsquo;aplicació, afegir recursos, connectar connexions i &lt;em&gt;crear per verificar&lt;/em&gt;. El compilador li indica immediatament si alguna cosa no funciona. Sense endevinar, sense prova i error amb fitxers de configuració.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Una comanda per governar-los tots.&lt;/strong&gt; En lloc d&amp;rsquo;agents que fan malabars amb &lt;code&gt;docker compose up&lt;/code&gt;, &lt;code&gt;npm run dev&lt;/code&gt; i scripts d&amp;rsquo;inici de bases de dades, tot és només &lt;code&gt;aspire start&lt;/code&gt;. Tots els recursos s&amp;rsquo;inicien en l&amp;rsquo;ordre correcte, als ports adequats, amb la configuració correcta. Els processos de llarga durada tampoc pengen l&amp;rsquo;agent: Aspire els gestiona.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mode aïllat per a agents paral·lels.&lt;/strong&gt; Amb &lt;code&gt;--isolated&lt;/code&gt;, cada execució d&amp;rsquo;Aspire té els seus propis ports aleatoris i secrets d&amp;rsquo;usuari separats. Hi ha diversos agents treballant en els arbres de treball de git? No xocaran. Això és enorme per a eines com els agents de fons de VS Code que fan girar entorns paral·lels.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ulls d&amp;rsquo;agent a través de la telemetria.&lt;/strong&gt; Aquí és on es fa realment potent. L&amp;rsquo;Aspire CLI exposa dades completes d&amp;rsquo;OpenTelemetry durant el desenvolupament: traces, mètriques, registres estructurats. El vostre agent no només llegeix la sortida de la consola i espera el millor. Pot rastrejar una sol·licitud fallida entre serveis, perfilar punts finals lents i identificar exactament on es trenquen les coses. Això és observabilitat de grau de producció en el bucle de desenvolupament.&lt;/p&gt;
&lt;h2 id="lanalogia-del-para-xocs-de-bitlles"&gt;L&amp;rsquo;analogia del para-xocs de bitlles&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;equip d&amp;rsquo;Aspire utilitza una gran analogia: penseu en Aspire com a para-xocs de la pista de bitlles per als agents d&amp;rsquo;IA. Si l&amp;rsquo;agent no és perfecte (i no ho serà), els para-xocs eviten que llanci boles de canaló. La definició de pila evita la configuració incorrecta, el compilador detecta errors, la CLI gestiona la gestió del procés i la telemetria proporciona el bucle de retroalimentació.&lt;/p&gt;
&lt;p&gt;Combineu-ho amb alguna cosa com Playwright CLI i el vostre agent pot &lt;em&gt;utilitzar&lt;/em&gt; la vostra aplicació: fent clic a través dels fluxos, comprovant el DOM, veient coses trencades a la telemetria, arreglant el codi, reiniciant i provant de nou. Construir, executar, observar, arreglar. Aquest és el bucle de desenvolupament autònom que hem estat perseguint.&lt;/p&gt;
&lt;h2 id="primers-passos"&gt;Primers passos&lt;/h2&gt;
&lt;p&gt;Nou a Aspire? Instal·leu la CLI des de &lt;a href="https://get.aspire.dev"&gt;get.aspire.dev&lt;/a&gt; i seguiu la &lt;a href="https://aspire.dev/get-started/first-app"&gt;guia d&amp;rsquo;inici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ja fas servir Aspire? Executeu &lt;code&gt;aspire update --self&lt;/code&gt; per obtenir 13.2 i, a continuació, indiqueu el vostre agent de codificació preferit al vostre repositori. Potser us sorprendrà quant s&amp;rsquo;avança amb les baranes d&amp;rsquo;Aspire al seu lloc.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Aspire 13.2 ja no és només un marc d&amp;rsquo;aplicacions distribuïdes, sinó que s&amp;rsquo;està convertint en una infraestructura d&amp;rsquo;agent essencial. Les definicions de pila estructurades, l&amp;rsquo;inici d&amp;rsquo;un sol comandament, les execucions paral·leles aïllades i la telemetria en temps real ofereixen als agents d&amp;rsquo;IA exactament el que necessiten per passar d&amp;rsquo;escriure codi a enviar aplicacions.&lt;/p&gt;
&lt;p&gt;Llegiu la &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;publicació completa&lt;/a&gt; de l&amp;rsquo;equip d&amp;rsquo;Aspire per veure tots els detalls i vídeos de demostració.&lt;/p&gt;</content:encoded></item><item><title>Aquella configuració de Windows flotant de Visual Studio que no sabíeu (però hauríeu)</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</guid><description>Una configuració oculta de Visual Studio us ofereix un control total sobre les finestres flotants: entrades independents de la barra de tasques, un comportament adequat de diversos monitors i una perfecta integració de FancyZones. Un desplegable ho canvia tot.</description><content:encoded>&lt;p&gt;Si utilitzeu diversos monitors amb Visual Studio (i sincerament, qui no ho fa en aquests dies), probablement heu experimentat la molèstia: les finestres d&amp;rsquo;eines flotants desapareixen quan minimitzeu l&amp;rsquo;IDE principal, sempre es mantenen al capdavant de tota la resta i no apareixen com a botons separats de la barra de tasques. Funciona per a alguns fluxos de treball, però per a configuracions de diversos monitors és frustrant.&lt;/p&gt;
&lt;p&gt;Mads Kristensen de l&amp;rsquo;equip de Visual Studio &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;ha compartit una configuració poc coneguda&lt;/a&gt; que canvia completament el comportament de les finestres flotants. Un desplegable. Això és tot.&lt;/p&gt;
&lt;h2 id="la-configuració"&gt;La configuració&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Eines &amp;gt; Opcions &amp;gt; Entorn &amp;gt; Windows &amp;gt; Finestres flotants&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;El menú desplegable &amp;ldquo;Aquestes finestres flotants són propietat de la finestra principal&amp;rdquo; té tres opcions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cap&lt;/strong&gt; — total independència. Cada finestra flotant té la seva pròpia entrada a la barra de tasques i es comporta com una finestra normal de Windows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Windows&lt;/strong&gt; (per defecte): els documents floten lliurement, les finestres d&amp;rsquo;eines es mantenen lligades a l&amp;rsquo;IDE.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Finestres de documents i eines&lt;/strong&gt;: comportament clàssic de Visual Studio, tot lligat a la finestra principal.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="per-què-cap-és-el-moviment-per-a-les-configuracions-de-diversos-monitors"&gt;Per què &amp;ldquo;Cap&amp;rdquo; és el moviment per a les configuracions de diversos monitors&lt;/h2&gt;
&lt;p&gt;Estableix-lo a &lt;strong&gt;Cap&lt;/strong&gt; i, de sobte, totes les teves finestres i documents d&amp;rsquo;eines flotants es comporten com aplicacions de Windows reals. Apareixen a la barra de tasques, es mantenen visibles quan minimitzeu la finestra principal de Visual Studio i deixen de forçar-se al davant de tot.&lt;/p&gt;
&lt;p&gt;Combineu-ho amb &lt;strong&gt;PowerToys FancyZones&lt;/strong&gt; i és un canvi de joc. Creeu dissenys personalitzats als vostres monitors, col·loqueu el vostre Explorador de solucions a una zona, depureu a una altra i codifiqueu fitxers allà on vulgueu. Tot es manté, tot és accessible de manera independent i el vostre espai de treball se sent organitzat en lloc de caòtic.&lt;/p&gt;
&lt;h2 id="recomanacions-ràpides"&gt;Recomanacions ràpides&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Usuaris avançats amb monitors múltiples&lt;/strong&gt;: s&amp;rsquo;estableix en &lt;strong&gt;Cap&lt;/strong&gt;, s&amp;rsquo;acobla amb FancyZones&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flotants ocasionals&lt;/strong&gt;: &lt;strong&gt;Tool Windows&lt;/strong&gt; (per defecte) és un sòlid terme mitjà&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flux de treball tradicional&lt;/strong&gt;: &lt;strong&gt;Documents i Windows Tool&lt;/strong&gt; manté tot el clàssic&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Consell professional: &lt;strong&gt;Ctrl + feu doble clic&lt;/strong&gt; a la barra de títol de qualsevol finestra d&amp;rsquo;eina per flotar o acoblar-la a l&amp;rsquo;instant. No cal reiniciar després de canviar la configuració.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;És una d&amp;rsquo;aquestes configuracions &amp;ldquo;No em puc creure que no sabia sobre això&amp;rdquo;. Si alguna vegada les finestres flotants a Visual Studio us han molestat, aneu a canviar-ho ara mateix.&lt;/p&gt;
&lt;p&gt;Llegiu la &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;publicació completa&lt;/a&gt; per obtenir els detalls i les captures de pantalla.&lt;/p&gt;</content:encoded></item><item><title>El mode aïllat d'Aspire soluciona el malson del conflicte del port per al desenvolupament paral·lel</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/</guid><description>Aspire 13.2 introdueix el mode --isolated: ports aleatoris, secrets separats i zero col·lisions quan s'executen diverses instàncies del mateix AppHost. Perfecte per a agents d'IA, arbres de treball i fluxos de treball paral·lels.</description><content:encoded>&lt;p&gt;Si alguna vegada has provat d&amp;rsquo;executar dues instàncies del mateix projecte al mateix temps, saps el dolor. El port 8080 ja està en ús. S&amp;rsquo;ha pres el port 17370. Matar alguna cosa, reiniciar, fer malabars amb les variables d&amp;rsquo;entorn: és un assassí de la productivitat.&lt;/p&gt;
&lt;p&gt;Aquest problema empitjora, no millora. Els agents d&amp;rsquo;IA creen arbres de treball git per treballar de manera independent. Els agents de fons generen entorns separats. Els desenvolupadors comproven el mateix repositori dues vegades per a les branques de funcions. Cadascun d&amp;rsquo;aquests escenaris toca el mateix mur: dues instàncies de la mateixa aplicació lluitant pels mateixos ports.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 soluciona això amb una sola bandera. James Newton-King de l&amp;rsquo;equip d&amp;rsquo;Aspire &lt;a href="https://devblogs.microsoft.com/aspire/aspire-isolated-mode-parallel-development/"&gt;va escriure tots els detalls&lt;/a&gt;, i és una d&amp;rsquo;aquestes característiques de &amp;ldquo;per què no vam tenir això abans&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="la-correcció---isolated"&gt;La correcció: &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;Això és tot. Cada cursa obté:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ports aleatoris&lt;/strong&gt;: no hi ha més col·lisions entre instàncies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secrets d&amp;rsquo;usuari aïllats&lt;/strong&gt;: les cadenes de connexió i les claus API es mantenen separades per instància&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No hi ha reasignació manual del port. Sense malabars amb variables d&amp;rsquo;entorn. Cada cursa obté un entorn fresc i lliure de col·lisions automàticament.&lt;/p&gt;
&lt;h2 id="escenaris-reals-on-això-brilla"&gt;Escenaris reals on això brilla&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Múltiples pagaments.&lt;/strong&gt; Tens una branca de funcions en un directori i una correcció d&amp;rsquo;errors en un altre:&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;Tots dos funcionen sense conflictes. El tauler mostra què s&amp;rsquo;està executant i on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agents de fons a VS Code.&lt;/strong&gt; Quan l&amp;rsquo;agent de fons de Copilot Chat crea un arbre de treball git per treballar amb el vostre codi de manera independent, pot ser que hagi d&amp;rsquo;executar l&amp;rsquo;Aspire AppHost. Sense &lt;code&gt;--isolated&lt;/code&gt;, això és una col·lisió de port amb el vostre arbre de treball principal. Amb ell, ambdues instàncies només funcionen.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;habilitat d&amp;rsquo;Aspire que s&amp;rsquo;envia amb &lt;code&gt;aspire agent init&lt;/code&gt; indica automàticament als agents que utilitzin &lt;code&gt;--isolated&lt;/code&gt; quan treballen en arbres de treball. Per tant, l&amp;rsquo;agent de fons de Copilot hauria de gestionar-ho des de la caixa.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Proves d&amp;rsquo;integració juntament amb el desenvolupament.&lt;/strong&gt; Necessites fer proves amb un AppHost en directe mentre continues creant funcions? El mode aïllat dóna a cada context els seus propis ports i configuració.&lt;/p&gt;
&lt;h2 id="com-funciona-sota-el-capó"&gt;Com funciona sota el capó&lt;/h2&gt;
&lt;p&gt;Quan passeu &lt;code&gt;--isolated&lt;/code&gt;, la CLI genera un ID d&amp;rsquo;instància únic per a l&amp;rsquo;execució. Això provoca dos comportaments:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Aleatoria de ports&lt;/strong&gt;: en lloc d&amp;rsquo;unir-se a ports previsibles definits a la configuració de l&amp;rsquo;AppHost, el mode aïllat tria els ports disponibles aleatòriament per a tot: el tauler de control, els punts finals del servei, tot això. El descobriment de serveis s&amp;rsquo;ajusta automàticament, de manera que els serveis es troben entre ells independentment dels ports on aterren.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Aïllament secret&lt;/strong&gt;: cada execució aïllada obté el seu propi magatzem de secrets d&amp;rsquo;usuari, clau per l&amp;rsquo;ID de la instància. Les cadenes de connexió i les claus API d&amp;rsquo;una execució no es filtren a una altra.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;El vostre codi no necessita cap canvi. El descobriment de serveis d&amp;rsquo;Aspire resol els punts finals en temps d&amp;rsquo;execució, de manera que tot es connecta correctament independentment de l&amp;rsquo;assignació del port.&lt;/p&gt;
&lt;h2 id="quan-utilitzar-lo"&gt;Quan utilitzar-lo&lt;/h2&gt;
&lt;p&gt;Utilitzeu &lt;code&gt;--isolated&lt;/code&gt; quan executeu diverses instàncies del mateix AppHost simultàniament, tant si es tracta de desenvolupament paral·lel, proves automatitzades, agents d&amp;rsquo;IA o arbres de treball de git. Per al desenvolupament d&amp;rsquo;una sola instància on preferiu ports previsibles, &lt;code&gt;aspire run&lt;/code&gt; normal encara funciona bé.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;El mode aïllat és una petita característica que resol un problema real i cada cop més comú. A mesura que el desenvolupament assistit per IA ens empeny cap a fluxos de treball més paral·lels (múltiples agents, múltiples arbres de treball, múltiples contextos), la capacitat de fer girar una altra instància sense lluitar pels ports és essencial.&lt;/p&gt;
&lt;p&gt;Llegiu la &lt;a href="https://devblogs.microsoft.com/aspire/aspire-isolated-mode-parallel-development/"&gt;publicació completa&lt;/a&gt; per obtenir tots els detalls tècnics i proveu-ho amb &lt;code&gt;aspire update --self&lt;/code&gt; per obtenir 13.2.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.116: l'aplicació d'agents obté la navegació per teclat i la finalització del context dels fitxers</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/vscode-1-116-agents-app-updates/</guid><description>VS Code 1.116 se centra en la poliment de l'aplicació Agents: combinacions de tecles dedicades, millores d'accessibilitat, completacions de context de fitxers i resolució d'enllaços CSS @import.</description><content:encoded>&lt;p&gt;VS Code 1.116 és la versió d&amp;rsquo;abril de 2026 i, tot i que és més lleuger que algunes actualitzacions recents, els canvis són enfocats i significatius, sobretot si feu servir l&amp;rsquo;aplicació Agents diàriament.&lt;/p&gt;
&lt;p&gt;Aquí teniu el que va arribar, basat en les &lt;a href="https://code.visualstudio.com/updates/v1_116"&gt;notes oficials de la versió&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="millores-de-laplicació-dagents"&gt;Millores de l&amp;rsquo;aplicació d&amp;rsquo;agents&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;aplicació Agents continua madurant amb un poliment d&amp;rsquo;usabilitat que marca una diferència real en els fluxos de treball diaris:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Combinacions de tecles dedicades&lt;/strong&gt;: ara podeu centrar la vista Canvis, l&amp;rsquo;arbre de fitxers dins de Canvis i la vista Personalitzacions de xat amb ordres dedicades i dreceres de teclat. Si heu fet clic per l&amp;rsquo;aplicació Agents per navegar, això ofereix fluxos de treball complets basats en el teclat.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Diàleg d&amp;rsquo;ajuda d&amp;rsquo;accessibilitat&lt;/strong&gt;: prement &lt;code&gt;Alt+F1&lt;/code&gt; al quadre d&amp;rsquo;entrada del xat ara s&amp;rsquo;obre un diàleg d&amp;rsquo;ajuda d&amp;rsquo;accessibilitat que mostra les ordres i les combinacions de tecles disponibles. Els usuaris de lectors de pantalla també poden controlar la verbositat dels anuncis. Una bona accessibilitat beneficia a tothom.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Completacions de context de fitxer&lt;/strong&gt;: escriviu &lt;code&gt;#&lt;/code&gt; al xat de l&amp;rsquo;aplicació Agents per activar les finalitzacions de context de fitxer a l&amp;rsquo;abast del vostre espai de treball actual. Aquesta és una d&amp;rsquo;aquelles petites millores de qualitat de vida que acceleren cada interacció; ja no cal escriure els camins complets dels fitxers quan es fa referència al codi.&lt;/p&gt;
&lt;h2 id="css-import-resolució-denllaç"&gt;CSS &lt;code&gt;@import&lt;/code&gt; resolució d&amp;rsquo;enllaç&lt;/h2&gt;
&lt;p&gt;Una bona per als desenvolupadors d&amp;rsquo;interfície: ara VS Code resol les referències CSS &lt;code&gt;@import&lt;/code&gt; que utilitzen camins node_modules. Podeu &lt;code&gt;Ctrl+click&lt;/code&gt; mitjançant importacions com &lt;code&gt;@import &amp;quot;some-module/style.css&amp;quot;&lt;/code&gt; quan utilitzeu agrupadors. Petit però elimina un punt de fricció en els fluxos de treball CSS.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;VS Code 1.116 tracta de perfeccionament, fent que l&amp;rsquo;aplicació Agents sigui més navegable, més accessible i més amigable amb el teclat. Si passeu molt de temps a l&amp;rsquo;aplicació Agents (i sospito que molts de nosaltres ho estem), aquests canvis s&amp;rsquo;acumulen.&lt;/p&gt;
&lt;p&gt;Consulteu les &lt;a href="https://code.visualstudio.com/updates/v1_116"&gt;notes completes de la versió&lt;/a&gt; per obtenir la llista completa.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.115: notificacions de terminal en segon pla, mode d'agent SSH i més</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/vscode-1-115-agent-improvements/</guid><description>VS Code 1.115 ofereix notificacions de terminal en segon pla per als agents, allotjament d'agents remots SSH, enganxament de fitxers als terminals i seguiment d'edició conscient de la sessió. Això és el que importa per als desenvolupadors de.NET.</description><content:encoded>&lt;p&gt;VS Code 1.115 acaba de &lt;a href="https://code.visualstudio.com/updates/v1_115"&gt;sortir&lt;/a&gt; i, tot i que és una versió més lleugera pel que fa a les funcions de titular, les millores relacionades amb l&amp;rsquo;agent són realment útils si treballeu amb assistents de codificació d&amp;rsquo;IA diàriament.&lt;/p&gt;
&lt;p&gt;Permeteu-me destacar el que realment val la pena saber.&lt;/p&gt;
&lt;h2 id="els-terminals-de-fons-parlen-amb-els-agents"&gt;Els terminals de fons parlen amb els agents&lt;/h2&gt;
&lt;p&gt;Aquesta és la característica destacada. Els terminals de fons ara notifiquen automàticament als agents quan es completen les ordres, inclòs el codi de sortida i la sortida del terminal. Les sol·licituds d&amp;rsquo;entrada als terminals de fons també es detecten i s&amp;rsquo;envien a l&amp;rsquo;usuari.&lt;/p&gt;
&lt;p&gt;Per què importa això? Si heu utilitzat el mode d&amp;rsquo;agent de Copilot per executar ordres de compilació o suites de proves en segon pla, coneixeu el dolor de &amp;ldquo;Ja s&amp;rsquo;ha acabat?&amp;rdquo; — Els terminals de fons eren essencialment de foc i oblidar. Ara l&amp;rsquo;agent rep una notificació quan el vostre &lt;code&gt;dotnet build&lt;/code&gt; o &lt;code&gt;dotnet test&lt;/code&gt; s&amp;rsquo;acabi, veu la sortida i pot reaccionar en conseqüència. És un petit canvi que fa que els fluxos de treball impulsats per agents siguin significativament més fiables.&lt;/p&gt;
&lt;p&gt;També hi ha una nova eina &lt;code&gt;send_to_terminal&lt;/code&gt; que permet als agents enviar ordres a terminals en segon pla amb la confirmació de l&amp;rsquo;usuari, solucionant el problema en què &lt;code&gt;run_in_terminal&lt;/code&gt; amb un temps d&amp;rsquo;espera traslladaria els terminals a segon pla i els faria només de lectura.&lt;/p&gt;
&lt;h2 id="allotjament-dagent-remot-ssh"&gt;Allotjament d&amp;rsquo;agent remot SSH&lt;/h2&gt;
&lt;p&gt;VS Code ara admet la connexió a màquines remotes mitjançant SSH, instal·lant automàticament la CLI i iniciant-la en mode d&amp;rsquo;amfitrió de l&amp;rsquo;agent. Això significa que les vostres sessions d&amp;rsquo;agent d&amp;rsquo;IA poden orientar-se directament a entorns remots, cosa que és útil per als desenvolupadors de.NET que creen i proveu en servidors Linux o màquines virtuals en núvol.&lt;/p&gt;
&lt;h2 id="edita-el-seguiment-a-les-sessions-dagent"&gt;Edita el seguiment a les sessions d&amp;rsquo;agent&lt;/h2&gt;
&lt;p&gt;Les edicions de fitxers fetes durant les sessions de l&amp;rsquo;agent ara es fan un seguiment i es restauren, amb diferències, desfer/refer i restauració de l&amp;rsquo;estat. Si un agent fa canvis al vostre codi i alguna cosa va malament, podeu veure exactament què ha canviat i revertir-lo. Tranquil·litat per deixar que els agents modifiquin la vostra base de codi.&lt;/p&gt;
&lt;h2 id="coneixement-de-la-pestanya-del-navegador-i-altres-millores"&gt;Coneixement de la pestanya del navegador i altres millores&lt;/h2&gt;
&lt;p&gt;Algunes addicions més de qualitat de vida:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Seguiment de pestanyes del navegador&lt;/strong&gt;: ara el xat pot fer un seguiment i enllaçar amb les pestanyes del navegador obertes durant una sessió, de manera que els agents poden fer referència a les pàgines web que esteu mirant&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fitxer enganxat al terminal&lt;/strong&gt;: enganxeu fitxers (incloses les imatges) al terminal amb Ctrl+V, arrossegueu i deixeu anar o feu clic amb el botó dret.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cobertura de prova al minimapa&lt;/strong&gt;: ara els indicadors de cobertura de prova es mostren al minimapa per obtenir una visió visual ràpida&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pinch-to-zoom a Mac&lt;/strong&gt;: el navegador integrat admet gestos de pessigar-to-zoom&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drets de Copilot a Sessions&lt;/strong&gt;: la barra d&amp;rsquo;estat mostra la informació d&amp;rsquo;ús a la vista Sessions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Favicon a Anar al fitxer&lt;/strong&gt;: les pàgines web obertes mostren favicons a la llista de selecció ràpida&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;VS Code 1.115 és una versió incremental, però les millores de l&amp;rsquo;agent (notificacions de terminal en segon pla, allotjament d&amp;rsquo;agents SSH i seguiment d&amp;rsquo;edició) afegeixen una experiència notablement més fluida per al desenvolupament assistit per IA. Si utilitzeu el mode d&amp;rsquo;agent de Copilot per a projectes.NET, aquests són els tipus de correccions de qualitat de vida que redueixen la fricció diàriament.&lt;/p&gt;
&lt;p&gt;Consulteu les &lt;a href="https://code.visualstudio.com/updates/v1_115"&gt;notes completes de la versió&lt;/a&gt; per a cada detall.&lt;/p&gt;</content:encoded></item><item><title>Aspire 13.2 envia una CLI de Docs, i el vostre agent d'IA també la pot utilitzar</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</guid><description>.NET Aspire 13.2 afegeix aspire docs: una CLI per cercar, navegar i llegir documentació oficial sense sortir del terminal. També funciona com una eina per als agents d'IA. Heus aquí per què això importa.</description><content:encoded>&lt;p&gt;Coneixeu aquell moment en què esteu endinsat en un Aspire AppHost, connectant integracions i heu de comprovar exactament quins paràmetres espera la integració de Redis? Feu una pestanya alternativa al vostre navegador, busqueu aspire.dev, mireu els documents de l&amp;rsquo;API i torneu al vostre editor. Context perdut. Flux trencat.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 només &lt;a href="https://devblogs.microsoft.com/aspire/aspire-docs-in-your-terminal/"&gt;ha enviat una solució per això&lt;/a&gt;. La CLI &lt;code&gt;aspire docs&lt;/code&gt; us permet cercar, navegar i llegir la documentació oficial d&amp;rsquo;Aspire directament des del vostre terminal. I com que està recolzat per serveis reutilitzables, els agents i les habilitats d&amp;rsquo;IA poden utilitzar les mateixes ordres per buscar documents en lloc d&amp;rsquo;al·lucinar API que no existeixen.&lt;/p&gt;
&lt;h2 id="el-problema-que-això-resol-realment"&gt;El problema que això resol realment&lt;/h2&gt;
&lt;p&gt;David Pine ho clava a la publicació original: els agents d&amp;rsquo;IA van ser &lt;em&gt;terribles&lt;/em&gt; per ajudar els desenvolupadors a crear aplicacions Aspire. Recomanarien &lt;code&gt;dotnet run&lt;/code&gt; en lloc de &lt;code&gt;aspire run&lt;/code&gt;, fer referència a learn.microsoft.com per als documents que viuen a aspire.dev, suggerir paquets NuGet obsolets i, el meu favorit personal, al·lucinar API que no existeixen.&lt;/p&gt;
&lt;p&gt;Per què? Com que Aspire era específic de.NET molt més temps del que ha estat políglot, i els LLM treballen amb dades de formació anteriors a les últimes funcions. Quan doneu a un agent d&amp;rsquo;IA la possibilitat de buscar realment els documents actuals, deixa d&amp;rsquo;endevinar i comença a ser útil.&lt;/p&gt;
&lt;h2 id="tres-ordres-zero-pestanyes-del-navegador"&gt;Tres ordres, zero pestanyes del navegador&lt;/h2&gt;
&lt;p&gt;La CLI és molt senzilla:&lt;/p&gt;
&lt;h3 id="llista-tots-els-documents"&gt;Llista tots els documents&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;Retorna totes les pàgines de documentació disponibles a aspire.dev. Necessites una sortida llegible per màquina? Afegeix &lt;code&gt;--format Json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="cerca-un-tema"&gt;Cerca un tema&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;Cerca tant títols com contingut amb una puntuació de rellevància ponderada. El mateix motor de cerca que impulsa l&amp;rsquo;eina de documentació internament. Obteniu resultats classificats amb títols, slugs i puntuacions de rellevància.&lt;/p&gt;
&lt;h3 id="llegeix-una-pàgina-sencera-o-només-una-secció"&gt;Llegeix una pàgina sencera (o només una secció)&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;Transmet la pàgina completa com a reducció al terminal. Necessites només una secció?&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;Precisió quirúrgica. Sense desplaçament per 500 línies. Només la part que necessiteu.&lt;/p&gt;
&lt;h2 id="langle-de-lagent-dia"&gt;L&amp;rsquo;angle de l&amp;rsquo;agent d&amp;rsquo;IA&lt;/h2&gt;
&lt;p&gt;Aquí és on és interessant per als desenvolupadors que construïm amb eines d&amp;rsquo;IA. Les mateixes ordres &lt;code&gt;aspire docs&lt;/code&gt; funcionen com a eines per als agents d&amp;rsquo;IA, mitjançant habilitats, servidors MCP o embolcalls CLI senzills.&lt;/p&gt;
&lt;p&gt;En comptes que el vostre assistent d&amp;rsquo;IA creï les API d&amp;rsquo;Aspire basades en dades d&amp;rsquo;entrenament obsoletes, pot trucar a &lt;code&gt;aspire docs search &amp;quot;postgres&amp;quot;&lt;/code&gt;, trobar els documents oficials d&amp;rsquo;integració, llegir la pàgina adequada i oferir-vos l&amp;rsquo;enfocament documentat. Documentació actual en temps real, no la que el model va memoritzar fa sis mesos.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;arquitectura darrere d&amp;rsquo;això és intencionada. L&amp;rsquo;equip d&amp;rsquo;Aspire va crear serveis reutilitzables (&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;) en lloc d&amp;rsquo;una integració única. Això vol dir que el mateix motor de cerca funciona per a humans al terminal, agents d&amp;rsquo;IA al vostre editor i automatització al vostre pipeline CI.&lt;/p&gt;
&lt;h2 id="escenaris-del-món-real"&gt;Escenaris del món real&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Cerques ràpides del terminal:&lt;/strong&gt; Teniu tres fitxers de profunditat i necessiteu paràmetres de configuració de Redis. Dues ordres, noranta segons, tornen a treballar:&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;Desenvolupament assistit per IA:&lt;/strong&gt; la vostra habilitat VS Code inclou les ordres CLI. Demaneu &amp;ldquo;Afegeix una base de dades PostgreSQL al meu AppHost&amp;rdquo; i l&amp;rsquo;agent cerca els documents reals abans de respondre. Sense al·lucinacions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Validació CI/CD:&lt;/strong&gt; el vostre pipeline valida les configuracions d&amp;rsquo;AppHost amb la documentació oficial mitjançant programació. &lt;code&gt;--format Json&lt;/code&gt; emet les canonades netament a &lt;code&gt;jq&lt;/code&gt; i altres eines.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bases de coneixement personalitzades:&lt;/strong&gt; crear la teva pròpia eina d&amp;rsquo;IA? Introduïu la sortida JSON estructurada directament a la vostra base de coneixement:&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;Sense raspat web. No hi ha claus API. Les mateixes dades estructurades que les eines de documents utilitza internament.&lt;/p&gt;
&lt;h2 id="la-documentació-sempre-està-en-directe"&gt;La documentació sempre està en directe&lt;/h2&gt;
&lt;p&gt;Aquesta és la part que més agraeixo. La CLI no baixa cap instantània: consulta aspire.dev amb la memòria cau basada en ETag. En el moment en què s&amp;rsquo;actualitzen els documents, la vostra CLI i qualsevol habilitat incorporada al damunt ho reflecteixen. No hi ha còpies obsoletes, no &amp;ldquo;però el wiki va dir&amp;hellip;&amp;rdquo; moments.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;aspire docs&lt;/code&gt; és una d&amp;rsquo;aquestes petites característiques que resol un problema real de manera neta. Els humans tenen accés a la documentació nativa del terminal. Els agents d&amp;rsquo;IA tenen una manera de deixar d&amp;rsquo;endevinar i començar a fer referència a documents reals. I tot està recolzat per la mateixa font de veritat.&lt;/p&gt;
&lt;p&gt;Si esteu creant amb.NET Aspire i encara no heu provat la CLI, executeu &lt;code&gt;aspire docs search &amp;quot;your-topic-here&amp;quot;&lt;/code&gt; i mireu com us sembla. A continuació, considereu incloure aquestes ordres en qualsevol habilitat d&amp;rsquo;IA o configuració d&amp;rsquo;automatització que feu servir; els vostres agents us ho agrairan.&lt;/p&gt;
&lt;p&gt;Fes una ullada a &lt;a href="https://davidpine.dev/posts/aspire-docs-mcp-tools/"&gt;La immersió profunda de David Pine&lt;/a&gt; sobre com es van reunir les eines de documents i la &lt;a href="https://aspire.dev/reference/cli/commands/aspire-docs/"&gt;referència oficial de la CLI&lt;/a&gt; per a tots els detalls.&lt;/p&gt;</content:encoded></item><item><title>azd ara us permet executar i depurar agents d'IA localment: aquí teniu el que va canviar el març de 2026</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</guid><description>L'Azure Developer CLI va enviar set versions el març de 2026. Els aspectes més destacats: un bucle local d'execució i depuració per a agents d'IA, integració de GitHub Copilot a la configuració del projecte i suport de Container App Jobs.</description><content:encoded>&lt;p&gt;Set llançaments en un mes. Això és el que va impulsar l&amp;rsquo;equip de l&amp;rsquo;Azure Developer CLI (&lt;code&gt;azd&lt;/code&gt;) el març de 2026, i la funció de titular és la que estava esperant: &lt;strong&gt;un bucle local d&amp;rsquo;execució i depuració per als agents d&amp;rsquo;IA&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;va publicar el resum complet&lt;/a&gt; i, tot i que hi ha moltes coses, permeteu-me filtrar-ho fins al que realment importa per als desenvolupadors de.NET que creen aplicacions basades en IA.&lt;/p&gt;
&lt;h2 id="executeu-i-depureu-agents-dia-sense-desplegar-los"&gt;Executeu i depureu agents d&amp;rsquo;IA sense desplegar-los&lt;/h2&gt;
&lt;p&gt;Aquest és el gran. La nova extensió &lt;code&gt;azure.ai.agents&lt;/code&gt; afegeix un conjunt d&amp;rsquo;ordres que us ofereixen una experiència de bucle interior adequada per als agents d&amp;rsquo;IA:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azd ai agent run&lt;/code&gt;: inicia el vostre agent localment&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt;: li envia missatges (locals o desplegats)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent show&lt;/code&gt;: mostra l&amp;rsquo;estat i la salut del contenidor&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt;: transmet els registres dels contenidors en temps real&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Abans d&amp;rsquo;això, provar un agent d&amp;rsquo;IA significava desplegar-lo a Microsoft Foundry cada vegada que feies un canvi. Ara podeu iterar localment, provar el comportament del vostre agent i només implementar-lo quan estigueu preparat. Si heu estat creant agents amb Microsoft Agent Framework o Semantic Kernel, això canvia el vostre flux de treball diari.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;ordre d&amp;rsquo;invocació funciona amb agents locals i desplegats, la qual cosa significa que podeu utilitzar el mateix flux de treball de prova independentment d&amp;rsquo;on s&amp;rsquo;executi l&amp;rsquo;agent. Aquest és el tipus de detall que us estalvia mantenir dos conjunts de scripts de prova.&lt;/p&gt;
&lt;h2 id="github-copilot-arma-el-vostre-projecte-azd"&gt;GitHub Copilot arma el vostre projecte azd&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd init&lt;/code&gt; ara ofereix una opció &amp;ldquo;Configura amb GitHub Copilot (vista prèvia)&amp;rdquo;. En lloc de respondre manualment les sol·licituds sobre l&amp;rsquo;estructura del vostre projecte, un agent de Copilot us encarrega la configuració. Comprova si hi ha un directori de treball brut abans de modificar res i demana el consentiment de l&amp;rsquo;eina del servidor MCP per endavant.&lt;/p&gt;
&lt;p&gt;Quan una ordre falla, &lt;code&gt;azd&lt;/code&gt; ara ofereix una resolució de problemes assistida per IA: trieu una categoria (explica, orienta, soluciona problemes o salta), deixeu que l&amp;rsquo;agent suggereixi una solució i torneu-ho a provar, tot sense sortir del terminal. Per a configuracions d&amp;rsquo;infraestructures complexes, això suposa un estalvi de temps real.&lt;/p&gt;
&lt;h2 id="feines-de-laplicació-de-contenidors-i-millores-en-el-desplegament"&gt;Feines de l&amp;rsquo;aplicació de contenidors i millores en el desplegament&lt;/h2&gt;
&lt;p&gt;Algunes funcions de desplegament que cal destacar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fines d&amp;rsquo;aplicacions de contenidors&lt;/strong&gt;: &lt;code&gt;azd&lt;/code&gt; ara desplega &lt;code&gt;Microsoft.App/jobs&lt;/code&gt; mitjançant la configuració existent &lt;code&gt;host: containerapp&lt;/code&gt;. La vostra plantilla de bíceps determina si l&amp;rsquo;objectiu és una aplicació de contenidor o una feina, sense cap configuració addicional.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Temps d&amp;rsquo;espera de desplegament configurables&lt;/strong&gt;: nova marca &lt;code&gt;--timeout&lt;/code&gt; a &lt;code&gt;azd deploy&lt;/code&gt; i un camp &lt;code&gt;deployTimeout&lt;/code&gt; a &lt;code&gt;azure.yaml&lt;/code&gt;. Ja no cal endevinar el límit predeterminat de 1200 segons.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Recurs de compilació remota&lt;/strong&gt;: quan la compilació remota d&amp;rsquo;ACR falla, &lt;code&gt;azd&lt;/code&gt; torna automàticament a la compilació local de Docker/Podman.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Validació local de preflight&lt;/strong&gt;: els paràmetres de bíceps es validen localment abans de desplegar-se, capturant els paràmetres que falten sense un viatge d&amp;rsquo;anada i tornada a Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="polit-de-lexperiència-del-desenvolupador"&gt;Polit de l&amp;rsquo;experiència del desenvolupador&lt;/h2&gt;
&lt;p&gt;Algunes millores més petites que sumen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Detecció automàtica de pnpm/fils&lt;/strong&gt; per a projectes JS/TS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compatibilitat amb pyproject.toml&lt;/strong&gt; per a l&amp;rsquo;embalatge de Python&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Directoris de plantilles locals&lt;/strong&gt; — &lt;code&gt;azd init --template&lt;/code&gt; ara accepta camins del sistema de fitxers per a la iteració fora de línia&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Millors missatges d&amp;rsquo;error&lt;/strong&gt; en mode &lt;code&gt;--no-prompt&lt;/code&gt;: tots els valors que falten es reporten alhora amb ordres de resolució&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Variables d&amp;rsquo;entorn de compilació&lt;/strong&gt; injectades a tots els subprocessos de creació de marcs (.NET, Node.js, Java, Python)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aquesta última és subtil però important: la vostra compilació.NET ara té accés a les variables d&amp;rsquo;entorn &lt;code&gt;azd&lt;/code&gt;, la qual cosa significa que podeu fer una injecció de configuració en temps de compilació sense scripts addicionals.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;El bucle de depuració de l&amp;rsquo;agent d&amp;rsquo;IA local és l&amp;rsquo;estrella d&amp;rsquo;aquesta versió, però l&amp;rsquo;acumulació de millores en el desplegament i la poliment DX fa que &lt;code&gt;azd&lt;/code&gt; se senti més madur que mai. Si esteu desplegant aplicacions.NET a Azure, especialment agents d&amp;rsquo;IA, aquesta actualització val la pena instal·lar-la.&lt;/p&gt;
&lt;p&gt;Comproveu les &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;notes completes de la versió&lt;/a&gt; per a cada detall o comenceu amb &lt;a href="https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd"&gt;instal·lació d&amp;rsquo;azd&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps finalment soluciona l'UX de l'editor de Markdown de què es va queixar tothom</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</guid><description>L'editor d'Azure DevOps Markdown per a elements de treball obté una distinció més clara entre el mode de previsualització i el d'edició. És un petit canvi que soluciona un problema de flux de treball realment molest.</description><content:encoded>&lt;p&gt;Si utilitzeu Azure Boards, probablement haureu experimentat això: esteu llegint la descripció d&amp;rsquo;un element de treball, potser revisant els criteris d&amp;rsquo;acceptació i accidentalment feu doble clic. Boom: esteu en mode d&amp;rsquo;edició. No volies editar res. Només estaves llegint.&lt;/p&gt;
&lt;p&gt;Dan Hellem &lt;a href="https://devblogs.microsoft.com/devops/improving-the-markdown-editor-for-work-items/"&gt;va anunciar la correcció&lt;/a&gt;, i és un d&amp;rsquo;aquests canvis que sona minúscul però que en realitat elimina la fricció real del vostre flux de treball diari.&lt;/p&gt;
&lt;h2 id="què-va-canviar"&gt;Què va canviar&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;editor Markdown per als camps de text d&amp;rsquo;elements de treball ara s&amp;rsquo;obre en &lt;strong&gt;mode de vista prèvia de manera predeterminada&lt;/strong&gt;. Podeu llegir i interactuar amb el contingut (seguir enllaços, revisar el format) sense preocupar-vos d&amp;rsquo;entrar accidentalment al mode d&amp;rsquo;edició.&lt;/p&gt;
&lt;p&gt;Quan realment voleu editar, feu clic a la icona d&amp;rsquo;edició a la part superior del camp. Quan hàgiu acabat, torneu al mode de previsualització explícitament. Simple, intencionat, previsible.&lt;/p&gt;
&lt;p&gt;Això és tot. Aquest és el canvi.&lt;/p&gt;
&lt;h2 id="per-què-això-importa-més-del-que-sembla"&gt;Per què això importa més del que sembla&lt;/h2&gt;
&lt;p&gt;El &lt;a href="https://developercommunity.visualstudio.com/t/Markdown-editor-for-work-item-multi-line/10935496"&gt;fil de comentaris de la comunitat&lt;/a&gt; sobre això era llarg. El comportament de fer doble clic per editar es va introduir amb l&amp;rsquo;editor Markdown el juliol de 2025 i les queixes van començar gairebé immediatament. El problema no eren només les edicions accidentals, sinó que tota la interacció semblava impredictible. Mai no sabíeu si fer clic es llegiria o editaria.&lt;/p&gt;
&lt;p&gt;Per als equips que fan planificació d&amp;rsquo;esprints, preparació de backlog o revisió de codi amb Azure Boards, aquest tipus de compostos de microfricció. Cada entrada accidental del mode d&amp;rsquo;edició és un canvi de context. Cada &amp;ldquo;espera, he canviat alguna cosa?&amp;rdquo; moment és una atenció perduda.&lt;/p&gt;
&lt;p&gt;El nou valor predeterminat respecta el patró d&amp;rsquo;interacció més comú: llegiu els elements de treball amb molta més freqüència que no els editeu.&lt;/p&gt;
&lt;h2 id="estat-de-llançament"&gt;Estat de llançament&lt;/h2&gt;
&lt;p&gt;Això ja s&amp;rsquo;està implementant a un subconjunt de clients i s&amp;rsquo;ampliarà a tothom durant les properes dues o tres setmanes. Si encara no ho veus, aviat ho faràs.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;No totes les millores han de ser una característica de titular. De vegades, la millor actualització és simplement eliminar alguna cosa molesta. Aquest és un d&amp;rsquo;ells: una petita correcció d&amp;rsquo;UX que fa que Azure Boards se senti menys hostil a les persones que només volen llegir els seus elements de treball amb tranquil·litat.&lt;/p&gt;</content:encoded></item><item><title>Bookmark Studio aporta la navegació i l'ús compartit basats en ranures als marcadors de Visual Studio</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</guid><description>La nova extensió de Bookmark Studio de Mads Kristensen afegeix navegació per ranures de teclat, un gestor d'adreces d'interès, colors, etiquetes i capacitats d'exportació/compartiment als marcadors de Visual Studio.</description><content:encoded>&lt;p&gt;Els marcadors a Visual Studio sempre han estat&amp;hellip; bé. En establiu un, navegueu al següent, oblideu quin marcador és quin. Funcionen, però mai han estat el tipus de funció que podríeu dir poderosa.&lt;/p&gt;
&lt;p&gt;Mads Kristensen acaba de &lt;a href="https://devblogs.microsoft.com/visualstudio/bookmark-studio-evolving-bookmarks-in-visual-studio/"&gt;publicar Bookmark Studio&lt;/a&gt;, una extensió experimental que omple exactament els buits que probablement us heu trobat si feu servir els marcadors amb regularitat.&lt;/p&gt;
&lt;h2 id="navegació-basada-en-ranures"&gt;Navegació basada en ranures&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;addició bàsica: ara les adreces d&amp;rsquo;interès es poden assignar a les ranures 1–9 i passar directament a &lt;code&gt;Alt+Shift+1&lt;/code&gt; a &lt;code&gt;Alt+Shift+9&lt;/code&gt;. Les adreces d&amp;rsquo;interès noves obtenen automàticament la següent ranura disponible, de manera que, en la majoria dels casos, la navegació ràpida funciona sense cap configuració.&lt;/p&gt;
&lt;p&gt;Sembla senzill, però canvia les adreces d&amp;rsquo;interès de &amp;ldquo;Tinc algunes adreces d&amp;rsquo;interès en algun lloc&amp;rdquo; a &amp;ldquo;L&amp;rsquo;espai 3 és el meu controlador de l&amp;rsquo;API, l&amp;rsquo;espai 5 és la capa de servei, l&amp;rsquo;espai 7 és la prova&amp;rdquo;. Aquest tipus de memòria espacial fa que la navegació sigui gairebé instantània durant les sessions de treball concentrades.&lt;/p&gt;
&lt;h2 id="el-gestor-dadreces-dinterès"&gt;El gestor d&amp;rsquo;adreces d&amp;rsquo;interès&lt;/h2&gt;
&lt;p&gt;Una nova finestra d&amp;rsquo;eines mostra totes les vostres adreces d&amp;rsquo;interès en un sol lloc amb un filtratge per nom, fitxer, ubicació, color o ranura. Fes doble clic o navega amb el teclat per saltar a qualsevol marcador.&lt;/p&gt;
&lt;p&gt;Si alguna vegada heu tingut més de cinc o sis adreces d&amp;rsquo;interès i heu perdut la pista de quins, només val la pena instal·lar l&amp;rsquo;extensió.&lt;/p&gt;
&lt;h2 id="organització-amb-etiquetes-colors-i-carpetes"&gt;Organització amb etiquetes, colors i carpetes&lt;/h2&gt;
&lt;p&gt;Opcionalment, les adreces d&amp;rsquo;interès poden tenir etiquetes, colors i agrupar-se en carpetes. Res d&amp;rsquo;això és necessari: el vostre flux de treball de marcador actual continua funcionant. Però quan esteu depurant un problema complex o explorant una base de codi desconeguda, poder codificar amb colors i etiquetar les vostres adreces d&amp;rsquo;interès afegeix un context útil.&lt;/p&gt;
&lt;p&gt;Totes les metadades s&amp;rsquo;emmagatzemen per solució, de manera que la vostra organització d&amp;rsquo;adreces d&amp;rsquo;interès persisteix entre les sessions.&lt;/p&gt;
&lt;h2 id="exporta-i-comparteix"&gt;Exporta i comparteix&lt;/h2&gt;
&lt;p&gt;Aquesta és la funció que no sabia que volia. Bookmark Studio us permet exportar les adreces d&amp;rsquo;interès com a text sense format, Markdown o CSV. Això vol dir que pots:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Incloeu camins d&amp;rsquo;adreces d&amp;rsquo;interès a les descripcions de la sol·licitud d&amp;rsquo;extracció&lt;/li&gt;
&lt;li&gt;Compartiu la investigació amb els companys d&amp;rsquo;equip&lt;/li&gt;
&lt;li&gt;Mou els conjunts d&amp;rsquo;adreces d&amp;rsquo;interès entre repositoris o branques&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Els marcadors deixen de ser una eina de navegació en solitari i comencen a ser una manera de comunicar-se &amp;ldquo;aquí teniu el camí a través d&amp;rsquo;aquest codi&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="adreces-dinterès-que-fan-un-seguiment-del-moviment-del-codi"&gt;Adreces d&amp;rsquo;interès que fan un seguiment del moviment del codi&lt;/h2&gt;
&lt;p&gt;Bookmark Studio fa un seguiment de les adreces d&amp;rsquo;interès en relació al text al qual estan ancorats, de manera que no es desviïn cap a línies incorrectes mentre editeu. Si alguna vegada heu establert adreces d&amp;rsquo;interès durant una sessió de depuració i heu fet que tots apunten a les línies equivocades després d&amp;rsquo;un refactor, això ho soluciona.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Bookmark Studio no reinventa res. Es necessita una funció que ha estat &amp;ldquo;prou bona&amp;rdquo; ​​durant anys i la fa realment útil per al desenvolupament centrat. La navegació per ranures, el Gestor d&amp;rsquo;adreces d&amp;rsquo;interès i les capacitats d&amp;rsquo;exportació són els més destacats.&lt;/p&gt;
&lt;p&gt;Agafeu-lo del &lt;a href="https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BookmarkStudio"&gt;Visual Studio Marketplace&lt;/a&gt; i proveu-ho.&lt;/p&gt;</content:encoded></item><item><title>L'actualització de març de Visual Studio us permet crear agents de pilot personalitzats, i l'eina find_symbol és una gran cosa</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/</guid><description>L'actualització de març de 2026 de Visual Studio inclou agents Copilot personalitzats, habilitats d'agent reutilitzables, una eina find_symbol conscient de l'idioma i perfils basats en Copilot des de Test Explorer. Aquí teniu el que importa.</description><content:encoded>&lt;p&gt;Visual Studio acaba de rebre la seva actualització Copilot més important fins ara. Mark Downie &lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-march-update-build-your-own-custom-agents/"&gt;va anunciar el llançament de març&lt;/a&gt;, i el títol és agents personalitzats, però sincerament, l&amp;rsquo;eina &lt;code&gt;find_symbol&lt;/code&gt; soterrada més avall podria ser la característica que canviï més el vostre flux de treball.&lt;/p&gt;
&lt;p&gt;Permeteu-me desglossar el que hi ha realment aquí.&lt;/p&gt;
&lt;h2 id="agents-de-copilot-personalitzats-al-vostre-dipòsit"&gt;Agents de Copilot personalitzats al vostre dipòsit&lt;/h2&gt;
&lt;p&gt;Voleu que Copilot segueixi els estàndards de codificació del vostre equip, executi el vostre pipeline de compilació o consulti els vostres documents interns? Ara pots construir exactament això.&lt;/p&gt;
&lt;p&gt;Els agents personalitzats es defineixen com a fitxers &lt;code&gt;.agent.md&lt;/code&gt; que deixeu anar a &lt;code&gt;.github/agents/&lt;/code&gt; al vostre repositori. Cada agent té accés complet a la consciència de l&amp;rsquo;espai de treball, la comprensió del codi, les eines, el model preferit i les connexions MCP a serveis externs. Apareixen al selector d&amp;rsquo;agents al costat dels agents integrats.&lt;/p&gt;
&lt;p&gt;Aquest és el mateix patró que VS Code ha donat suport, i és fantàstic veure que Visual Studio es posa al dia. Per als equips que ja han creat agents per a VS Code, els vostres fitxers &lt;code&gt;.agent.md&lt;/code&gt; haurien de funcionar en ambdós IDE (tot i que els noms d&amp;rsquo;eines poden variar, així que proveu-los).&lt;/p&gt;
&lt;p&gt;El repositori &lt;a href="https://github.com/github/awesome-copilot"&gt;awesome-copilot&lt;/a&gt; té configuracions d&amp;rsquo;agents contribuïts per la comunitat que podeu utilitzar com a punts de partida.&lt;/p&gt;
&lt;h2 id="habilitats-dagent-paquets-dinstruccions-reutilitzables"&gt;Habilitats d&amp;rsquo;agent: paquets d&amp;rsquo;instruccions reutilitzables&lt;/h2&gt;
&lt;p&gt;Les habilitats es recullen automàticament de &lt;code&gt;.github/skills/&lt;/code&gt; al vostre repositori o &lt;code&gt;~/.copilot/skills/&lt;/code&gt; al vostre perfil. Cada habilitat és un fitxer &lt;code&gt;SKILL.md&lt;/code&gt; seguint l&amp;rsquo;&lt;a href="https://agentskills.io/specification"&gt;especificació d&amp;rsquo;habilitats de l&amp;rsquo;agent&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Penseu en les habilitats com a experiència modular que podeu combinar i combinar. És possible que tingueu una habilitat per a les convencions de l&amp;rsquo;API, una altra per als vostres patrons de prova i una altra per al vostre flux de treball de desplegament. Quan s&amp;rsquo;activa una habilitat, apareix al xat perquè sàpigues que s&amp;rsquo;està aplicant.&lt;/p&gt;
&lt;p&gt;Si heu estat utilitzant habilitats a VS Code, ara funcionen de la mateixa manera a Visual Studio.&lt;/p&gt;
&lt;h2 id="find_symbol-navegació-conscient-de-lidioma-per-als-agents"&gt;find_symbol: navegació conscient de l&amp;rsquo;idioma per als agents&lt;/h2&gt;
&lt;p&gt;Aquí és on les coses es posen realment interessants. La nova eina &lt;code&gt;find_symbol&lt;/code&gt; ofereix al mode d&amp;rsquo;agent de Copilot una navegació real de símbols basada en el servei d&amp;rsquo;idiomes. En lloc de cercar el vostre codi com a text, l&amp;rsquo;agent pot:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trobeu totes les referències a un símbol al vostre projecte&lt;/li&gt;
&lt;li&gt;Informació de tipus d&amp;rsquo;accés, declaracions i metadades d&amp;rsquo;abast&lt;/li&gt;
&lt;li&gt;Navegueu pels llocs de trucades amb coneixement complet de l&amp;rsquo;idioma&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Què significa això a la pràctica: quan demaneu a Copilot que refactori un mètode o actualitzeu una signatura de paràmetres en llocs de trucada, realment pot veure l&amp;rsquo;estructura del vostre codi. No més situacions &amp;ldquo;l&amp;rsquo;agent va canviar el mètode però va perdre tres llocs de trucades&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Els llenguatges admesos inclouen C#, C++, Razor, TypeScript i qualsevol cosa amb una extensió LSP compatible. Per als desenvolupadors de.NET, aquesta és una millora massiva: les bases de codi C# amb jerarquies i interfícies de tipus profundes es beneficien enormement de la navegació conscient dels símbols.&lt;/p&gt;
&lt;h2 id="proves-de-perfil-amb-copilot"&gt;Proves de perfil amb Copilot&lt;/h2&gt;
&lt;p&gt;Ara hi ha una ordre &lt;strong&gt;Perfil amb Copilot&lt;/strong&gt; al menú contextual de l&amp;rsquo;Explorador de proves. Seleccioneu una prova, feu clic al perfil i l&amp;rsquo;agent de perfils l&amp;rsquo;executa automàticament i analitza el rendiment, combinant l&amp;rsquo;ús de la CPU i les dades d&amp;rsquo;instrumentació per oferir informació útil.&lt;/p&gt;
&lt;p&gt;No més configurar manualment sessions de perfilador, executar la prova, exportar resultats i intentar llegir un gràfic de flama. L&amp;rsquo;agent fa l&amp;rsquo;anàlisi i us diu què és lent i per què. Actualment només.NET, cosa que té sentit donada la profunda integració de diagnòstic.NET de Visual Studio.&lt;/p&gt;
&lt;h2 id="consells-de-rendiment-durant-la-depuració-en-directe"&gt;Consells de rendiment durant la depuració en directe&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;optimització del rendiment ara es produeix mentre depureu, no després. A mesura que passeu pel codi, Visual Studio mostra el temps d&amp;rsquo;execució i els senyals de rendiment en línia. Veus una línia lenta? Feu clic al Consell de rendiment i demaneu a Copilot suggeriments d&amp;rsquo;optimització allà mateix.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;agent de perfils captura automàticament les dades del temps d&amp;rsquo;execució (temps transcorregut, ús de la CPU, comportament de la memòria) i Copilot les utilitza per identificar els punts calents. Això manté el treball de rendiment com a part del vostre flux de depuració en lloc d&amp;rsquo;una tasca separada que continueu posposant.&lt;/p&gt;
&lt;h2 id="corregiu-les-vulnerabilitats-de-nuget-des-de-lexplorador-de-solucions"&gt;Corregiu les vulnerabilitats de NuGet des de l&amp;rsquo;Explorador de solucions&lt;/h2&gt;
&lt;p&gt;Quan es detecta una vulnerabilitat en un paquet NuGet, ara veuràs una notificació amb un enllaç &lt;strong&gt;Corregir amb GitHub Copilot&lt;/strong&gt; directament a l&amp;rsquo;Explorador de solucions. Feu clic i Copilot analitza la vulnerabilitat, recomana les actualitzacions de paquets adequades i les implementa.&lt;/p&gt;
&lt;p&gt;Per als equips que lluiten per mantenir les dependències actualitzades (que és bàsicament per a tothom), això elimina la fricció de &amp;ldquo;Sé que hi ha una vulnerabilitat, però esbrinar la ruta d&amp;rsquo;actualització correcta és un projecte en si mateix&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Els agents personalitzats i les habilitats són el titular, però &lt;code&gt;find_symbol&lt;/code&gt; és l&amp;rsquo;èxit dormint: canvia fonamentalment la precisió que pot ser Copilot quan es refactoritza el codi.NET. Combinada amb la integració de perfils en directe i les correccions de vulnerabilitats, aquesta actualització fa que les funcions d&amp;rsquo;IA de Visual Studio se sentin realment pràctiques en lloc de preparar-se per a la demostració.&lt;/p&gt;
&lt;p&gt;Baixeu &lt;a href="https://visualstudio.microsoft.com/downloads/"&gt;Visual Studio 2026 Insiders&lt;/a&gt; per provar-ho tot.&lt;/p&gt;</content:encoded></item><item><title>De l'ordinador portàtil a la producció: desplegament d'agents d'IA a Microsoft Foundry amb dues ordres</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</guid><description>L'Azure Developer CLI ara té ordres "azd ai agent" que porten el vostre agent d'IA des del desenvolupador local a un punt final de Foundry en directe en qüestió de minuts. Aquí teniu el flux de treball complet.</description><content:encoded>&lt;p&gt;Coneixeu aquesta bretxa entre &amp;ldquo;funciona a la meva màquina&amp;rdquo; i &amp;ldquo;està desplegat i atén el trànsit&amp;rdquo;? Per als agents d&amp;rsquo;IA, aquesta bretxa ha estat dolorosament àmplia. Heu de subministrar recursos, desplegar models, connectar la identitat, configurar la supervisió, i això és abans que ningú pugui trucar al vostre agent.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;Azure Developer CLI acaba de convertir-ho en un &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;assumpte de dos comandaments&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="el-nou-flux-de-treball-azd-ai-agent"&gt;El nou flux de treball &lt;code&gt;azd ai agent&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Permeteu-me explicar com és realment això. Teniu un projecte d&amp;rsquo;agent d&amp;rsquo;IA, diguem-ne un agent de consergeria d&amp;rsquo;hotel. Funciona localment. Voleu que funcioni a Microsoft Foundry.&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;Això és tot. Dues ordres. &lt;code&gt;azd ai agent init&lt;/code&gt; arma la infraestructura com a codi al vostre dipòsit i &lt;code&gt;azd up&lt;/code&gt; proveeix tot a Azure i publica el vostre agent. Obteniu un enllaç directe al vostre agent al portal de Foundry.&lt;/p&gt;
&lt;h2 id="què-passa-sota-el-capó"&gt;Què passa sota el capó&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;ordre &lt;code&gt;init&lt;/code&gt; genera plantilles de bíceps reals i inspeccionables al vostre repositori:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;strong&gt;Recurs de Foundry&lt;/strong&gt; (contenidor de primer nivell)&lt;/li&gt;
&lt;li&gt;Un &lt;strong&gt;Projecte de Foundry&lt;/strong&gt; (on viu el vostre agent)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuració del model de desplegament&lt;/strong&gt; (GPT-4o, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identitat gestionada&lt;/strong&gt; amb assignacions de rol RBAC adequades&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azure.yaml&lt;/code&gt; per al mapa de serveis&lt;/li&gt;
&lt;li&gt;&lt;code&gt;agent.yaml&lt;/code&gt; amb metadades de l&amp;rsquo;agent i variables d&amp;rsquo;entorn&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aquí teniu la part clau: sou el propietari de tot això. Està versionat Bicep al teu repositori. Podeu inspeccionar-lo, personalitzar-lo i confirmar-lo juntament amb el vostre codi d&amp;rsquo;agent. Sense capses negres màgiques.&lt;/p&gt;
&lt;h2 id="el-bucle-intern-del-desenvolupament"&gt;El bucle intern del desenvolupament&lt;/h2&gt;
&lt;p&gt;El que m&amp;rsquo;agrada molt és la història del desenvolupament local. Quan esteu iterant la lògica de l&amp;rsquo;agent, no voleu tornar a desplegar cada vegada que canvieu una sol·licitud:&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;Això inicia el vostre agent localment. Vinculeu-lo amb &lt;code&gt;azd ai agent invoke&lt;/code&gt; per enviar sol·licituds de prova i teniu un bucle de comentaris ajustat. Edita el codi, reinicia, invoca, repeteix.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;ordre &lt;code&gt;invoke&lt;/code&gt; també és intel·ligent pel que fa a l&amp;rsquo;encaminament: quan s&amp;rsquo;executa un agent local, l&amp;rsquo;orienta automàticament. Quan no ho és, arriba al punt final remot.&lt;/p&gt;
&lt;h2 id="monitorització-en-temps-real"&gt;Monitorització en temps real&lt;/h2&gt;
&lt;p&gt;Aquesta és la característica que em va vendre. Un cop desplegat el vostre agent:&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;Cada sol·licitud i resposta que flueix pel vostre agent es transmet al vostre terminal en temps real. Per depurar problemes de producció, això és inestimable. Sense investigar l&amp;rsquo;analítica de registres, sense esperar que les mètriques s&amp;rsquo;agreguin; veuràs què està passant ara mateix.&lt;/p&gt;
&lt;h2 id="el-conjunt-dordres-complet"&gt;El conjunt d&amp;rsquo;ordres complet&lt;/h2&gt;
&lt;p&gt;Aquí teniu la referència ràpida:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Comandament&lt;/th&gt;
&lt;th&gt;Què fa&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;Armar un projecte d&amp;rsquo;agent de Foundry amb 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;Proveïu els recursos d&amp;rsquo;Azure i implementeu l&amp;rsquo;agent&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;Envieu sol·licituds a l&amp;rsquo;agent local o remot&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;Executeu l&amp;rsquo;agent localment per al desenvolupament&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;Transmet els registres en temps real de l&amp;rsquo;agent publicat&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;Comproveu l&amp;rsquo;estat i l&amp;rsquo;estat de l&amp;rsquo;agent&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;Netegeu tots els recursos d&amp;rsquo;Azure&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="per-què-això-és-important-per-als-desenvolupadors-denet"&gt;Per què això és important per als desenvolupadors de.NET&lt;/h2&gt;
&lt;p&gt;Tot i que la mostra de l&amp;rsquo;anunci està basada en Python, la història de la infraestructura és independent del llenguatge. El vostre agent.NET obté la mateixa bastida Bíceps, la mateixa configuració d&amp;rsquo;identitat gestionada, la mateixa canalització de monitorització. I si ja esteu utilitzant &lt;code&gt;azd&lt;/code&gt; per a les vostres aplicacions.NET Aspire o implementacions d&amp;rsquo;Azure, això s&amp;rsquo;adapta perfectament al vostre flux de treball existent.&lt;/p&gt;
&lt;p&gt;La bretxa de desplegament dels agents d&amp;rsquo;IA ha estat un dels punts de fricció més grans de l&amp;rsquo;ecosistema. Passar d&amp;rsquo;un prototip de treball a un punt final de producció amb una identitat, una xarxa i un seguiment adequats no hauria de requerir una setmana de treball DevOps. Ara requereix dues ordres i uns minuts.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd ai agent&lt;/code&gt; ja està disponible. Si heu postergat la implementació dels vostres agents d&amp;rsquo;IA perquè la configuració de la infraestructura us semblava massa feina, proveu-ho. Fes una ullada a la &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;tutorial completa&lt;/a&gt; per veure el pas a pas complet, inclosa la integració de l&amp;rsquo;aplicació de xat frontal.&lt;/p&gt;</content:encoded></item></channel></rss>