Summary
Add C#/.NET language builder support using componentize-dotnet once the tooling stabilizes.
Current Status
The .NET WASI ecosystem is currently experimental:
- Microsoft removed the
wasi-experimental workload from .NET 9 (February 2025)
- .NET 10 does not include native WASI support
- The only option is
componentize-dotnet from Bytecode Alliance
- Setup requires experimental NuGet feeds and platform-specific packages
- Path handling bugs exist in the current tooling
Why Deferred
During implementation of #31, we found:
- Complex setup: Requires experimental NuGet feed (
dotnet-experimental)
- Platform-specific packages: Need different ILCompiler packages per OS
- Configuration heavy: Many .csproj properties required
- Tooling bugs: Path handling issues (Windows paths on macOS)
- Uncertain future: Microsoft appears to have deprioritized WASI
When to Revisit
Monitor these for stability:
- componentize-dotnet releases
- .NET 11+ WASI support announcements
- Microsoft's WASI tracking issues moving back to active milestones
Implementation Notes
When ready, the builder should:
- Check for .NET SDK 9.0+
- Use
dotnet build with componentize-dotnet SDK
- Find WASM output in
bin/<config>/net<version>/wasi-wasm/
- Provide clear error messages about experimental NuGet feed requirements
Related
Summary
Add C#/.NET language builder support using componentize-dotnet once the tooling stabilizes.
Current Status
The .NET WASI ecosystem is currently experimental:
wasi-experimentalworkload from .NET 9 (February 2025)componentize-dotnetfrom Bytecode AllianceWhy Deferred
During implementation of #31, we found:
dotnet-experimental)When to Revisit
Monitor these for stability:
Implementation Notes
When ready, the builder should:
dotnet buildwith componentize-dotnet SDKbin/<config>/net<version>/wasi-wasm/Related