Eric Erhardt retweeted
A #GitHubAction that keeps your issues & PRs 🌈 and 🐎 instead of 🤬 — written in #csharp with Native AOT, powered by 4,900+ words across 9 auditable, plain-text lists. #OSS all the way down.
Always free, entirely open. Let's keep it clean. 🤓
ievangelist.github.io/profan…
Eric Erhardt retweeted
You start with a web app, an API, storage, and Key Vault. The app works. The demo works. Everyone is happy. Then the production checklist shows up. 😱
In this blog post, see how to secure your #Azure apps with Aspire enterprise networking: devblogs.microsoft.com/aspir…
#AspireDev
Eric Erhardt retweeted
NOW on #AspireConf 2026 💫
Aspire Escapes the Inner Loop and Does Deployment
2:30 PM - 3:00 PM PT
Join us LIVE: youtu.be/6j61K9Sna2M
Follow the conversation: #AspireDev #AspireConf
Eric Erhardt retweeted
🎉 Just released! Aspire 13.2 💫 is here with #TypeScript AppHost authoring, an agent-native CLI, and so much more! aka.ms/aspire13-2-blog
Eric Erhardt retweeted
We merged an early C# 15 preview feature into .NET 11 preview 3: unions.
Adds union declarations (`union Pet(Cat, Dog, Bird) { ... }`) and union types (attributed with `[Union]`).
They can be treated by pattern matching/switch expressions as a closed set for exhaustiveness.
Eric Erhardt retweeted
The next version of aspire will support TypeScript based apphosts and without .NET being installed on the machine. We prototyped ~4 different approaches over the last year until we found a path that we liked.
Here's a react (with vite) + express app described using.
#aspire #typescript
Eric Erhardt retweeted
Need a handy guide to walk you through adding #Aspire to a Python RAG app? 🗺️
How about this one by @eehardt: prgress.co/45f1i1G
Eric Erhardt retweeted
JavaScript & TypeScript join first class in Aspire 13 ✈️
Run Vite, Node.js, and full-stack JS apps with service discovery, built-in telemetry, and production-ready containers.
Read more 👉 devblogs.microsoft.com/aspir…
#Aspire #JavaScript #TypeScript #DevTools
Eric Erhardt retweeted
But wait… one more thing! Happy holidays - here’s another Aspire release 🎁
Blog: devblogs.microsoft.com/aspir…
Full What’s New: aspire.dev/whats-new/aspire-…
Eric Erhardt retweeted
🎁 Aspire 13.1 just dropped… and it quietly fixes a lot of the stuff that annoyed you.
• Real HTTPS in local dev
• Built-in AI agent support
• Dashboard finally shows what you need
devblogs.microsoft.com/aspir…
#aspire #dotnet #devtools
Eric Erhardt retweeted
🐍 Python is first class in Aspire✈️
Supports FastAPI, Starlette, Quart, manage packages with uv/pip, debug in VS Code, easily add service connections and deploy!
Dive in: devblogs.microsoft.com/aspir…
#Aspire #Python #dotnet #FastAPI #DevTools #CloudNative
Eric Erhardt retweeted
Aspire 13 new dashboard features, day 6:
Introducing the Aspire MCP server. Integrate Aspire into your dev AI eco-system.
🚀 Observe resources (health status, endpoints, etc)
🪄 Debug with real-time console logs
📊 Investigate dev-time telemetry
⚙️ Execute resource commands
Eric Erhardt retweeted
Aspire 13 is here - it's such a big deal that we had to skip a few versions 😉
Read the blog - devblogs.microsoft.com/aspir…
Or, dive deep into the What's New - aspire.dev/whats-new/aspire-…
Happy Aspirifying!!
Eric Erhardt retweeted
Today we ship Aspire 13!
Why 13? It’s a number that’s bigger than 10 but less than 14.
Seriously though, Aspire 13 marks the start of a new chapter for the project: the beginning of its polyglot era. We’re expanding beyond .NET, bringing the same model-driven, code-centric experience to Python, JavaScript, and beyond.
Check out the what's new on the new site:
aspire.dev/whats-new/aspire-…
#aspire @aspiredotdev
Eric Erhardt retweeted
This week we made huge strides in resource modeling in Aspire.
One of the scenarios we tackled this release was representing dependencies between resources to enable generic file copying between containers at publish or deploy time.
Lets take a single front end using vite and backend using fastapi:
When running locally
You typically run two separate apps:
- A Vite frontend
- A Python backend (though this applies to any backend)
When deploying
You often want to build the frontend and then bundle its output into the backend (which serves static files).
Sounds simple, just write a multi-stage Dockerfile, right?
In practice, it’s painful: you need to get both Dockerfiles exactly right and make sure files are copied to the right place in the final image.
Enter the next version of Aspire
Resources can now encapsulate how to build a default Dockerfile and how to copy artifacts from one container to another.
This means Aspire can dynamically compose a working final container image from any resource that produces files and any resource that consumes files.
In other words: I can combine two resources that adhere to this simple contract, and like magic, it just works end to end.
The developer experience we’re building here will be second to none.
#aspire @aspiredotdev #vite #python #fastapi
Eric Erhardt retweeted
Aspire 9.5 has landed 🚀 and it's packed with updates across the dashboard, CLI, and more! Read the blog for some highlights or check out the What's New for the deep dive. Plus, join us at 4p PST for a live stream unboxing at youtube.com/@aspiredotdev!
devblogs.microsoft.com/dotne…
Eric Erhardt retweeted
Aspire 9.3 new dashboard features, day 7:
It's release day and there's a surprise feature. GitHub Copilot is your new AI debugging assistant 🚀
🕵️ Review hundreds of logs in one click
🚨 Find root causes of errors faster
🧠 Explain error codes using AI's vast knowledge base
Eric Erhardt retweeted
Just published a new issues of .NET R&D Digest! Thanks to @richcampbell, @abhi9u, @JuntaoQiu, @kosamari, @andrewlocknet, @STeplyakov, @stevejgordon, @chnasarre, @meziantou, @shanselman, @eehardt, @karpathy and other g8 authors for their content!
olegkarasik.wordpress.com/20…
#dotnet
Eric Erhardt retweeted
I went down a deep .NET AOT rabbit hole in the last 24 hours. Serendipitously @shanselman published "Deep .NET - Ahead of Time Compilation (Native AOT) with Eric Erhardt" on YT youtube.com/watch?v=N-MrQeZ1…
and the problem was solved with two lines of code:
github.com/unifiedfx/UFX.Rel… 🎉














