Workspec.Aspire.Hosting.Cost
0.1.0-alpha.5
dotnet add package Workspec.Aspire.Hosting.Cost --version 0.1.0-alpha.5
NuGet\Install-Package Workspec.Aspire.Hosting.Cost -Version 0.1.0-alpha.5
<PackageReference Include="Workspec.Aspire.Hosting.Cost" Version="0.1.0-alpha.5" />
<PackageVersion Include="Workspec.Aspire.Hosting.Cost" Version="0.1.0-alpha.5" />
<PackageReference Include="Workspec.Aspire.Hosting.Cost" />
paket add Workspec.Aspire.Hosting.Cost --version 0.1.0-alpha.5
#r "nuget: Workspec.Aspire.Hosting.Cost, 0.1.0-alpha.5"
#:package Workspec.Aspire.Hosting.Cost@0.1.0-alpha.5
#addin nuget:?package=Workspec.Aspire.Hosting.Cost&version=0.1.0-alpha.5&prerelease
#tool nuget:?package=Workspec.Aspire.Hosting.Cost&version=0.1.0-alpha.5&prerelease
aspire-hosting
.NET Aspire hosting integrations for WorkSpec modules — the consumer's apphost graph
(services, resources, references) feeds each module, letting WorkSpec generate its
architecture/cost/decision artifacts from the real running topology instead of a
hand-maintained .workspec/ tree.
This is the monorepo's first .NET area, sitting alongside the pnpm/TypeScript workspace at the repo root. It has its own solution, build props, and CI stage; it does not participate in the pnpm workspace.
Naming conventions
| Concern | Convention | Example |
|---|---|---|
| Package directory | kebab-case, aspire-hosting-* |
aspire-hosting-core |
| Assembly / project | Aspire.Hosting.Workspec.* |
Aspire.Hosting.Workspec.Core |
| Solution | Aspire.Hosting.Workspec.slnx |
(this directory's .slnx) |
Layout
Aspire.Hosting.Workspec.slnx solution (new XML .slnx format)
Directory.Build.props shared TFM/nullable/warnings-as-errors settings
Directory.Packages.props central package version management
aspire-hosting-core/ Aspire.Hosting.Workspec.Core — class library (graph-dump contract,
CLI locator, health-check wiring, and the shared WorkspecCliRunner/
WorkspecCliDiagnostic process-execution + Markdown-formatting
primitives every module integration below consumes)
aspire-hosting-c4/ Aspire.Hosting.Workspec.C4 — class library
aspire-hosting-cost/ Aspire.Hosting.Workspec.Cost — class library
aspire-hosting-decisions/ Aspire.Hosting.Workspec.Decisions — class library
aspire-hosting-mcp/ Aspire.Hosting.Workspec.Mcp — class library (aggregate MCP host
resource, proxied through Aspire's built-in MCP server)
aspire-hosting-tests/ Aspire.Hosting.Workspec.Tests — xunit test project
aspire-hosting-e2e-fixture-apphost/
E2EFixtureAppHost — minimal real AppHost entry point
(Aspire.AppHost.Sdk + DCP wiring) that the tests'
DistributedApplicationTestingBuilder requires; no integration code
Packages
The first four were shipped together in this repo (A6, #39
closed out packaging/release wiring for every module integration built in A1–A5); Mcp followed
separately, wrapping packages/mcp-host's aggregate MCP server:
| Module | Assembly | PackageId | Path | Docs | Tracking issue |
|---|---|---|---|---|---|
| Core | Aspire.Hosting.Workspec.Core |
Workspec.Aspire.Hosting.Core |
aspire-hosting-core |
this README | #34 |
| C4 | Aspire.Hosting.Workspec.C4 |
Workspec.Aspire.Hosting.C4 |
aspire-hosting-c4 |
docs/aspire-hosting/c4-integration.md |
#36 |
| Decisions | Aspire.Hosting.Workspec.Decisions |
Workspec.Aspire.Hosting.Decisions |
aspire-hosting-decisions |
docs/aspire-hosting/decisions-integration.md |
#37 |
| Cost | Aspire.Hosting.Workspec.Cost |
Workspec.Aspire.Hosting.Cost |
aspire-hosting-cost |
docs/aspire-hosting/cost-integration.md |
#38 |
| Mcp | Aspire.Hosting.Workspec.Mcp |
Workspec.Aspire.Hosting.Mcp |
aspire-hosting-mcp |
docs/aspire-hosting/mcp-integration.md |
— |
#35 (A2) is a related TS-side
enabler (workspec-c4 import-aspire et al.) in packages/, not a fifth aspire-hosting-*
package.
NuGet publishing
PackageId naming (decided at A6): the Aspire. PackageId prefix is reserved on
nuget.org — confirmed empirically by fetching Aspire.Hosting's package page, which shows a
"Prefix Reserved" badge linking to nuget.org's
ID Prefix Reservation docs,
with owners Microsoft and aspire. That rules out publishing anything named Aspire.*, so
every package above ships as Workspec.Aspire.Hosting.<Module> instead, per the fallback this
README always documented — assembly names are unaffected and stay
Aspire.Hosting.Workspec.* (a PackageId and an assembly name are independent NuGet concepts; a
consumer's <PackageReference Include="Workspec.Aspire.Hosting.C4" /> still resolves types under
the Aspire.Hosting/Aspire.Hosting.Workspec namespaces shown throughout this repo's docs).
Every package is versioned 0.1.0-alpha.0 (mirroring the @workspec/* npm packages' own alpha
convention — see docs/decisions/RELEASING.md), carries the Apache-2.0
PackageLicenseExpression, and embeds this README as its PackageReadmeFile. Release wiring
(.github/workflows/release.yml) is inert-but-ready pending a one-time manual nuget.org Trusted
Publishing setup — see docs/decisions/RELEASING.md's "NuGet (.NET)" section for the exact
pending step.
Aspire.Hosting.Integration.Analyzers
The standalone Aspire.Hosting.Integration.Analyzers NuGet package publishes
prerelease-only versions (each tracking a stable Aspire.Hosting release), so we don't
take it as a dependency. Instead the same analyzer assembly ships inside the
Aspire.Hosting package itself as a buildTransitive asset, gated behind the
EnableAspireIntegrationAnalyzers MSBuild property (false by default).
Directory.Build.props here sets it to true for every project in this directory.
Toolchain
- .NET SDK:
net10.0(seeDirectory.Build.props) - Aspire packages:
13.4.6(latest stable 13.x at time of writing — seeDirectory.Packages.props) - Tests: xunit 2.9.3 +
xunit.runner.visualstudio+Microsoft.NET.Test.Sdk, matching what the .NET 10 SDK's owndotnet new xunit/dotnet new aspire-xunittemplates generate (classic xunit v2 + VSTest, not xunit.v3/Microsoft.Testing.Platform).
cd aspire-hosting
dotnet build Aspire.Hosting.Workspec.slnx --configuration Release
dotnet test Aspire.Hosting.Workspec.slnx --configuration Release --no-build
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Aspire.Hosting (>= 13.4.6)
- Aspire.Hosting.Azure (>= 13.4.6)
- Workspec.Aspire.Hosting.Core (>= 0.1.0-alpha.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.5 | 70 | 7/23/2026 |