<?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>Parallel-Development | The .NET Blog</title><link>https://thedotnetblog.com/ca/tags/parallel-development/</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>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ca/tags/parallel-development/index.xml" rel="self" type="application/rss+xml"/><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></channel></rss>