{"id":1312,"date":"2026-03-24T01:32:15","date_gmt":"2026-03-24T04:32:15","guid":{"rendered":"https:\/\/maurobernal.com.ar\/blog\/?p=1312"},"modified":"2026-03-24T12:20:44","modified_gmt":"2026-03-24T15:20:44","slug":"novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas","status":"publish","type":"post","link":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/","title":{"rendered":"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s"},"content":{"rendered":"\n<p>El equipo de .NET acaba de lanzar <strong>.NET Aspire 13.2<\/strong>, y viene cargado de novedades. Esta versi\u00f3n se centra en tres pilares: una CLI much\u00edsimo m\u00e1s potente, una extensi\u00f3n de VS Code renovada, y soporte multi-lenguaje que incluye TypeScript como lenguaje de AppHost. Veamos qu\u00e9 hay de nuevo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#x1f680; CLI: el gran salto<\/h2>\n\n\n\n<p>Si us\u00e1s Aspire desde la terminal, esta actualizaci\u00f3n es para vos. El equipo agreg\u00f3 una cantidad enorme de comandos nuevos que exponen informaci\u00f3n que antes solo estaba disponible en el dashboard.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Modo detached \u2014 feature m\u00e1s pedida<\/h3>\n\n\n\n<p>Por fin pod\u00e9s correr tu apphost en segundo plano sin bloquear la terminal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Correr en background\naspire run --detach\n\n# Shorthand\naspire start\n\n# Ver todos los apphosts corriendo\naspire ps\n\n# Detener\naspire stop --all<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">aspire describe \u2014 el dashboard en la terminal<\/h3>\n\n\n\n<p>Inspeccion\u00e1 estado de recursos, variables de entorno, health status y m\u00e1s, todo desde la CLI. Incluye un modo <code>--follow<\/code> para streaming en tiempo real de cambios de estado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>aspire describe\naspire describe --follow<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">aspire doctor<\/h3>\n\n\n\n<p>Un nuevo comando de diagn\u00f3stico que verifica tu entorno completo: certificados HTTPS, Docker\/Podman, .NET SDK, WSL2 y configuraci\u00f3n de agentes de AI. Ideal para onboarding de equipos o troubleshooting.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Nuevos comandos operacionales<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Esperar hasta que un recurso est\u00e9 healthy (\u00fatil en CI\/CD)\naspire wait api --status healthy --timeout 120\n\n# Exportar telemetr\u00eda y datos de una sesi\u00f3n\naspire export --output .\\artifacts\\aspire-export.zip\n\n# Gesti\u00f3n de secrets sin necesitar dotnet user-secrets\naspire secret set ApiKey mi-valor-secreto\naspire secret list --format json\n\n# Limpiar y confiar certificados de desarrollo\naspire certs clean\naspire certs trust<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">aspire docs \u2014 documentaci\u00f3n en la terminal<\/h3>\n\n\n\n<p>Busc\u00e1 y le\u00e9 la documentaci\u00f3n oficial sin salir del flujo de trabajo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>aspire docs search \"redis\"\naspire docs get redis-integration --section \"Add Redis resource\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">aspire agent (ex aspire mcp)<\/h3>\n\n\n\n<p>El comando <code>aspire mcp<\/code> fue renombrado a <code>aspire agent<\/code> para reflejar mejor su prop\u00f3sito. Ahora tambi\u00e9n inyecta archivos <code>SKILL.md<\/code> espec\u00edficos de Aspire en tu repo para mejorar la integraci\u00f3n con agentes de IA:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>aspire agent init\naspire agent mcp<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Configuraci\u00f3n unificada con aspire.config.json<\/h3>\n\n\n\n<p>Aspire 13.2 consolida toda la configuraci\u00f3n en un \u00fanico archivo <code>aspire.config.json<\/code>, reemplazando el split entre <code>.aspire\/settings.json<\/code> y <code>apphost.run.json<\/code>. La migraci\u00f3n es autom\u00e1tica.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#x1f5a5;&#xfe0f; VS Code Extension \u2014 renovaci\u00f3n mayor<\/h2>\n<!-- \/w:heading -->\n\n\n<p>M\u00e1s de 20 PRs entraron en la extensi\u00f3n de VS Code, convirti\u00e9ndola en un entorno de primera clase para Aspire:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Panel dedicado en la Activity Bar<\/strong> con \u00e1rbol de recursos en tiempo real (usa <code>aspire describe --follow<\/code> por debajo, sin polling).<\/li>\n<li><strong>CodeLens inline<\/strong> sobre cada definici\u00f3n de recurso en tu apphost, mostrando estado vivo y botones de acci\u00f3n (Start, Stop, Restart, View Logs).<\/li>\n<li><strong>Decoraciones de gutter<\/strong> con \u00edconos de color seg\u00fan el estado de salud del recurso.<\/li>\n<li><strong>Debug mejorado<\/strong> para Azure Functions y TypeScript apphosts.<\/li>\n<li>Auto-registro del servidor MCP de Aspire para workflows de AI agents.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">&#x1f4dc; TypeScript AppHost (Preview)<\/h2>\n\n\n\n<p>Pod\u00e9s escribir tu apphost en TypeScript usando el mismo app model que C#:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { createBuilder } from '.\/.modules\/aspire.js';\n\nconst builder = await createBuilder();\n\nconst cache = await builder.addRedis(\"cache\");\n\nconst api = await builder.addProject(\"api\", \"..\/api\")\n  .withReference(cache)\n  .waitFor(cache);\n\nawait builder.build().run();<\/code><\/pre>\n\n\n\n<p>El soporte multi-lenguaje se extiende adem\u00e1s a scaffolding para Python, y el generador de c\u00f3digo ahora cubre targets de test en Go, Java y Rust.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#x1f4ca; Dashboard \u2014 export\/import y API de telemetr\u00eda<\/h2>\n\n\n\n<p>El dashboard recibe mejoras importantes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Export\/import de telemetr\u00eda<\/strong>: export\u00e1 logs, spans y trazas como JSON en un zip para compartir con el equipo o adjuntar a bug reports.<\/li>\n<li><strong>API HTTP de telemetr\u00eda<\/strong> bajo <code>\/api\/telemetry<\/code> con endpoints para recursos, spans, logs y trazas \u2014 con soporte de streaming v\u00eda <code>?follow=true<\/code>.<\/li>\n<li><strong>Par\u00e1metros editables<\/strong> directamente desde el dashboard.<\/li>\n<li>Mejor visualizador GenAI, layout de grafo con force-directed adaptativo, y configuraci\u00f3n de formato horario 12h\/24h.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">&#x1f3d7;&#xfe0f; Novedades en el App Model<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>WithMcpServer<\/strong>: declar\u00e1s en el app model que un recurso expone un servidor MCP, y las herramientas de Aspire lo descubren autom\u00e1ticamente.<\/li>\n<li><strong>Rebuild command<\/strong>: reconstru\u00ed un solo proyecto sin bajar todo el apphost (<code>aspire resource api rebuild<\/code>).<\/li>\n<li><strong>Docker Compose como publishing target<\/strong>: Aspire genera un <code>docker-compose.yaml<\/code> completo desde tu app model.<\/li>\n<li><strong>Contextual endpoint resolution<\/strong>: resolv\u00e9 la URL de un recurso seg\u00fan desde d\u00f3nde se accede (localhost, container network, internet p\u00fablico).<\/li>\n<li><strong>WithBuildSecret<\/strong>: API m\u00e1s clara para secrets en builds de contenedores.<\/li>\n<li><strong>Microsoft Foundry integration<\/strong>: reemplaza <code>Aspire.Hosting.Azure.AIFoundry<\/code>; ahora es <code>Aspire.Hosting.Foundry<\/code> con soporte para model deployments, hosted agents y m\u00e1s.<\/li>\n<li><strong>Azure Virtual Network<\/strong>: nuevo paquete <code>Aspire.Hosting.Azure.Network<\/code> para definir VNets, subnets, NSGs y private endpoints desde el apphost.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">&#x2b06;&#xfe0f; C\u00f3mo actualizar<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># Actualizar la CLI\naspire update --self\n\n# Actualizar el apphost del proyecto\naspire update<\/code><\/pre>\n\n\n\n<p>O instalar desde cero:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -sSL https:\/\/aspire.dev\/install.sh | bash<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">&#x1f4dd; Conclusi\u00f3n<\/h2>\n\n\n\n<p>Aspire 13.2 es una versi\u00f3n de madurez. La CLI deja de ser un simple lanzador para convertirse en una herramienta completa de gesti\u00f3n del ciclo de vida de tu aplicaci\u00f3n. La extensi\u00f3n de VS Code cierra la brecha con Visual Studio. El soporte multi-lenguaje abre la puerta a equipos que trabajan con TypeScript o Python. Y la integraci\u00f3n con AI agents (MCP) posiciona a Aspire como una plataforma de desarrollo lista para workflows modernos con IA.<\/p>\n\n\n\n<p>Para ver todas las novedades en detalle, la documentaci\u00f3n oficial est\u00e1 en <a href=\"https:\/\/aspire.dev\/whats-new\/aspire-13-2\">aspire.dev\/whats-new\/aspire-13-2<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aspire 13.2 llega con una CLI completamente renovada (aspire start, aspire doctor, aspire describe, aspire export y m\u00e1s), TypeScript AppHost en preview, extensi\u00f3n de VS Code renovada, dashboard con API de telemetr\u00eda y soporte para Docker Compose como publishing target.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[38,352,357,242,259,18,389,278],"class_list":["post-1312","post","type-post","status-publish","format-standard","hentry","category-blog","tag-net","tag-net-aspire","tag-apphost","tag-devops","tag-docker-compose","tag-dotnet","tag-inner-dev-loop","tag-typescript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s &#183; devops Mauro Bernal<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s &#183; devops Mauro Bernal\" \/>\n<meta property=\"og:description\" content=\"Aspire 13.2 llega con una CLI completamente renovada (aspire start, aspire doctor, aspire describe, aspire export y m\u00e1s), TypeScript AppHost en preview, extensi\u00f3n de VS Code renovada, dashboard con API de telemetr\u00eda y soporte para Docker Compose como publishing target.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/\" \/>\n<meta property=\"og:site_name\" content=\"devops Mauro Bernal\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-24T04:32:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-24T15:20:44+00:00\" \/>\n<meta name=\"author\" content=\"Mauro Bernal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:site\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mauro Bernal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/\"},\"author\":{\"name\":\"Mauro Bernal\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"headline\":\"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s\",\"datePublished\":\"2026-03-24T04:32:15+00:00\",\"dateModified\":\"2026-03-24T15:20:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/\"},\"wordCount\":756,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"keywords\":[\".NET\",\".NET Aspire\",\"AppHost\",\"devops\",\"docker-compose\",\"dotnet\",\"Inner Dev Loop\",\"typescript\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/\",\"name\":\"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s &#183; devops Mauro Bernal\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\"},\"datePublished\":\"2026-03-24T04:32:15+00:00\",\"dateModified\":\"2026-03-24T15:20:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\",\"name\":\"devops Mauro Bernal\",\"description\":\"Cuando tu trabajo es hacer que las cosas funcionen bien...\",\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\",\"name\":\"Mauro Bernal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"width\":1740,\"height\":1740,\"caption\":\"Mauro Bernal\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\"},\"description\":\"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman\",\"sameAs\":[\"https:\\\/\\\/maurobernal.com.ar\",\"https:\\\/\\\/x.com\\\/_maurobernal\",\"https:\\\/\\\/youtube.com\\\/maurobernal\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s &#183; devops Mauro Bernal","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/","og_locale":"es_ES","og_type":"article","og_title":"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s &#183; devops Mauro Bernal","og_description":"Aspire 13.2 llega con una CLI completamente renovada (aspire start, aspire doctor, aspire describe, aspire export y m\u00e1s), TypeScript AppHost en preview, extensi\u00f3n de VS Code renovada, dashboard con API de telemetr\u00eda y soporte para Docker Compose como publishing target.","og_url":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/","og_site_name":"devops Mauro Bernal","article_published_time":"2026-03-24T04:32:15+00:00","article_modified_time":"2026-03-24T15:20:44+00:00","author":"Mauro Bernal","twitter_card":"summary_large_image","twitter_creator":"@_maurobernal","twitter_site":"@_maurobernal","twitter_misc":{"Escrito por":"Mauro Bernal","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/#article","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/"},"author":{"name":"Mauro Bernal","@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"headline":"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s","datePublished":"2026-03-24T04:32:15+00:00","dateModified":"2026-03-24T15:20:44+00:00","mainEntityOfPage":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/"},"wordCount":756,"commentCount":0,"publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"keywords":[".NET",".NET Aspire","AppHost","devops","docker-compose","dotnet","Inner Dev Loop","typescript"],"articleSection":["Blog"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/","url":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/","name":"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s &#183; devops Mauro Bernal","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#website"},"datePublished":"2026-03-24T04:32:15+00:00","dateModified":"2026-03-24T15:20:44+00:00","breadcrumb":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-net-aspire-13-2-cli-poderosa-typescript-apphost-y-mas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/maurobernal.com.ar\/blog\/"},{"@type":"ListItem","position":2,"name":"Novedades en .NET Aspire 13.2: CLI poderosa, TypeScript AppHost y m\u00e1s"}]},{"@type":"WebSite","@id":"https:\/\/maurobernal.com.ar\/blog\/#website","url":"https:\/\/maurobernal.com.ar\/blog\/","name":"devops Mauro Bernal","description":"Cuando tu trabajo es hacer que las cosas funcionen bien...","publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/maurobernal.com.ar\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283","name":"Mauro Bernal","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","url":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","contentUrl":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","width":1740,"height":1740,"caption":"Mauro Bernal"},"logo":{"@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1"},"description":"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman","sameAs":["https:\/\/maurobernal.com.ar","https:\/\/x.com\/_maurobernal","https:\/\/youtube.com\/maurobernal"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/comments?post=1312"}],"version-history":[{"count":1,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1312\/revisions"}],"predecessor-version":[{"id":1313,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1312\/revisions\/1313"}],"wp:attachment":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/media?parent=1312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/categories?post=1312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/tags?post=1312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}