Runic.Application
0.3.0-preview.1
dotnet add package Runic.Application --version 0.3.0-preview.1
NuGet\Install-Package Runic.Application -Version 0.3.0-preview.1
<PackageReference Include="Runic.Application" Version="0.3.0-preview.1" />
<PackageVersion Include="Runic.Application" Version="0.3.0-preview.1" />
<PackageReference Include="Runic.Application" />
paket add Runic.Application --version 0.3.0-preview.1
#r "nuget: Runic.Application, 0.3.0-preview.1"
#:package Runic.Application@0.3.0-preview.1
#addin nuget:?package=Runic.Application&version=0.3.0-preview.1&prerelease
#tool nuget:?package=Runic.Application&version=0.3.0-preview.1&prerelease
Runic.Application
Runic.Application owns the generated runic.application/1 composition
manifest and the minimal host that consumes it. Declare application facts at the
assembly boundary, then keep the entry point small:
await RunicApplication.CreateBuilder(args).Build().RunAsync();
The manifest is the application composition authority. Hosts, testing, tooling,
and publishers consume it; they do not rebuild it from parallel configuration.
ApplicationHost.Capabilities projects only the manifest-declared capability
names. A host must report each status explicitly; hosts without a capability
projection, and unconfigured headless capabilities, are unavailable with a
stable reason.
The former RunicToolkit.Hosting, RunicToolkit.Desktop,
RunicToolkit.Hosting.Abstractions, and RunicToolkit.Hosting.Generators
packages are preview identities. Move to Runic.Application; builds that still
reference a preview identity receive RAPP0001 with this migration destination.
For macOS embedded Desktop applications, enter through synchronous
ApplicationHost.Run() on the process main thread. The selected Desktop host
implements IApplicationMainThreadHost and services AppKit while the asynchronous
application starts, runs and releases native resources:
var builder = RunicApplication.CreateBuilder(args);
builder.UseDesktop(options);
var application = builder.Build();
try { application.Run(); }
finally { application.DisposeAsync().AsTask().GetAwaiter().GetResult(); }
The entry point must reach Run() before any asynchronous continuation moves it
off the process main thread. RunAsync() remains available for hosts with no
main-thread requirement or an externally managed compatible native event loop.
| 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
- Microsoft.Extensions.DependencyInjection (>= 10.0.11)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Runic.Application:
| Package | Downloads |
|---|---|
|
Runic.Application.Platform
Presentation-scoped native services for Runic Application. |
|
|
Runic.Application.Desktop
Runic Desktop presentation integration for Runic Application. |
|
|
Runic.Application.CsWebUi
CS-WebUI hosting for generated Runic applications, without ASP.NET Core. |
|
|
Runic.Application.Testing
Headless deterministic application host and fakes for Runic.Application tests. |
|
|
Runic.Application.Hosting
Generic Host and ASP.NET Core integration for Runic.Application. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0-preview.1 | 76 | 9/11/2026 |
| 0.2.0-preview.1 | 79 | 9/9/2026 |