akka-aspire-configurat…
Configure Akka.NET with .NET Aspire for local development and production deployments. Covers…
Publish .NET services as container images with the built-in SDK tooling (dotnet publish /t:PublishContainer, Microsoft.NET.Build.Containers) - no Dockerfile required. Covers the MSBuild property surface, base-image inference, self-contained and AOT implications, and CI/CD
$ npx -y skills add aaronontheweb/dotnet-skills --skill sdk-container-publishing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sdk-container-publishingContext preview
The summary Claude sees to decide when to auto-load this skill.
Publish .NET services as container images with the built-in SDK tooling (dotnet publish /t:PublishContainer, Microsoft.NET.Build.Containers) - no Dockerfile required. Covers the MSBuild property surface, base-image inference, self-contained and AOT implications, and CI/CD
name: sdk-container-publishing description: Publish .NET services as container images with the built-in SDK tooling (dotnet publish /t:PublishContainer, Microsoft.NET.Build.Containers) - no Dockerfile required. Covers the MSBuild property surface, base-image inference, self-contained and AOT implications, and CI/CD publishing. invocable: false
Use this skill when:
Do not use it when:
Since .NET 7, `dotnet publish` builds a container image natively. The `Microsoft.NET.Build.Containers` tooling ships with the SDK, so no Dockerfile is required and no Docker install is needed to produce an image. Docker or Podman is only required to run the image locally. This is documented in the [containerize with dotnet publish tutorial](https://learn.microsoft.com/en-us/dotnet/core/containers/sdk-publish).
The quickest path is one command:
dotnet publish /t:PublishContainer -c Release
That compiles the app and emits an image in one step. The image name defaults to the project's `AssemblyName`. Override it with `ContainerRepository` (renamed from `ContainerImageName` in earlier versions - see the [sdk-container-builds customization notes](https://github.com/dotnet/sdk-container-builds/blob/main/docs/ContainerCustomization.md)).
The tooling writes the image in one of three ways. Pick based on where the image ends up.
| Mode | When to use | |------|-------------| | Local daemon (default) | Local dev. Pushes to the running Docker or Podman daemon with no extra config. | | Tarball | You want a file to scan, transfer, or load later. Set `ContainerArchiveOutputPath` to a `.tar.gz` path, then `docker load -i` or `podman load -i`. Useful in security scanning workflows. | | Registry push | Shipping. Set `ContainerRegistry` (for example `ghcr.io` or an internal registry) and the image is pushed directly. |
See the [containerize a .NET app reference](https://learn.microsoft.com/en-us/dotnet/core/containers/publish-configuration) for the full property surface.
Most of our services only override what they need and let the SDK infer the rest. A minimal csproj looks like this:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ContainerRepository>my-service</ContainerRepository>
<ContainerImageTags>$(VersionPrefix);latest</ContainerImageTags>
</PropertyGroup>
<ItemGroup>
<ContainerPort Include="8080" Type="tcp" />
</ItemGroup>
</Project>Notes:
For the full property catalog, see [references/property-reference.md](references/property-reference.md).
In CI, publish against a registry and tag with the release name. The tag-driven pattern we use:
A comprehensive AI coding plugin with 30 skills and 5 specialized agents for professional .NET development. Battle-tested patterns from production systems covering C#, Akka.NET, Aspire, EF Core, testing, and performance optimization.
Configure Akka.NET with .NET Aspire for local development and production deployments. Covers…
Critical Akka.NET best practices including EventStream vs DistributedPubSub, supervision…
Patterns for building entity actors with Akka.Hosting - GenericChildPerEntityParent, message…
Akka.Management for cluster bootstrapping, service discovery (Kubernetes, Azure, Config),…
Write unit and integration tests for Akka.NET actors using modern Akka.Hosting.TestKit…
Guidelines for making .NET libraries and applications trimming-safe and Native AOT…