WACS.WASI.Preview3
0.2.3
dotnet add package WACS.WASI.Preview3 --version 0.2.3
NuGet\Install-Package WACS.WASI.Preview3 -Version 0.2.3
<PackageReference Include="WACS.WASI.Preview3" Version="0.2.3" />
<PackageVersion Include="WACS.WASI.Preview3" Version="0.2.3" />
<PackageReference Include="WACS.WASI.Preview3" />
paket add WACS.WASI.Preview3 --version 0.2.3
#r "nuget: WACS.WASI.Preview3, 0.2.3"
#:package WACS.WASI.Preview3@0.2.3
#addin nuget:?package=WACS.WASI.Preview3&version=0.2.3
#tool nuget:?package=WACS.WASI.Preview3&version=0.2.3
WACS.WASI.Preview3
WASI Preview 3 host bindings for WACS, pinned to
wasi-0.3.0-rc-2026-03-15.
Sibling of WACS.WASI.Preview2. Where Preview 2 uses
synchronous host imports (io/streams.output-stream.write etc.),
Preview 3 uses the Component Model async ABI — host imports
take stream<T> / future<T> handles and return future<...>,
with the host's async work driven by the canon-async
dispatcher (WACS.ComponentModel.Async.AsyncDispatcher).
v0 status
Vertical slice per the WASIp3 plan: wasi:cli/run (async
entry point), wasi:cli/{stdin,stdout,stderr} (stream-based
stdio), and the stream<u8> ↔ System.IO.Stream bridge.
- Package skeleton + interfaces.
- Default
Console.Open{StandardInput,StandardOutput,StandardError}backings. - Bridge code from
StreamBuffer<byte>(canon-async data plane) to hostStream. - Test harness placeholder.
Not yet wired: end-to-end binding from a wit-component-
emitted .component.wasm to these interfaces. The
canon-async binder + shim recognizer
(WACS.ComponentModel 0.8.13+) cover the read side; the host
binding layer here registers delegates that the canon-async
binder will call. Validation against a real fixture awaits
wasi-0.3.0-rc-2026-03-15 toolchain stabilization in
bytecodealliance/wasm-tools + wit-bindgen.
How it composes
var runtime = new WasmRuntime();
var host = runtime.UseWasiPreview3(b =>
{
b.Stdout = new ConsoleStdio(Console.Out);
});
// Once a wit-component-emitted .component.wasm is available,
// the component's wasi:cli/stdout import resolves to
// host.Stdout.WriteViaStream(...).
Layout
Mirrors WACS.WASI.Preview2:
Wacs.WASI.Preview3/
Cli/
CliRun.cs — host-side hook for invoking exported run().
CliStdio.cs — IStdin / IStdout / IStderr interfaces +
Console-backed defaults.
Io/
StreamBridge.cs — StreamBuffer<byte> ↔ System.IO.Stream
adapter.
WasiPreview3Host.cs — composite IBindable.
WasiPreview3HostBuilder.cs — fluent config.
wit/deps/wasi-cli-0.3.0-rc-2026-03-15/
package.wit
Plan reference
See docs/wasip3-phase-3-closeout.md for what the canon-async
substrate underneath this package delivers, and the WASIp3 plan
for the Phase 4 + Phase 5 scope.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- WACS.ComponentModel (>= 0.10.3)
-
net8.0
- WACS.ComponentModel (>= 0.10.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on WACS.WASI.Preview3:
| Package | Downloads |
|---|---|
|
WACS.WASI.Preview3.DependencyInjection
Microsoft.Extensions.DependencyInjection extension methods for WACS.WASI.Preview3. Registers default host implementations + a pre-wired host suite. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.3 | 407 | 5/28/2026 |