Fork me on GitHub

.NET 9 中没有 wasi 实验性支持

2023年10月份写过一篇《本计划在 .NET 8 中推出的 WASI 推迟到 .NET 9 》[1],根据此问题[2],在 .NET 9 RTM 中似乎不会有wasi-experimental,仅使用 componentize-dotnet [3]的项目才能工作/将被更新,WASI 实验正在 NET 10 中继续进行。

2024年9月份字节码联盟发布了一篇文章《 使用 componentize-dotnet 为 .NET/C# 开发人员简化组件》[4],文章总结了componentize-dotnet项目,这是一个为.NET/C#开发者提供的工具,使得将代码编译为WebAssembly组件变得简单。这个由Bytecode Alliance发起的项目是一个NuGet包,允许从.NET应用程序创建完全AOT编译的组件,为.NET开发者提供了与Rust和TinyGo相当的组件体验。文章详细介绍了如何使用.NET 9 Preview 7和componentize-dotnet开始构建组件,包括安装必要的软件、配置NuGet以引用实验性包源、添加BytecodeAlliance.Componentize.DotNet.Wasm.SDK包到项目中,并展示了如何构建和运行一个简单的WebAssembly组件。此外,文章还探讨了如何简化组件工作流程,特别是如何使用WebAssembly Interface Type (WIT)定义来实现组件间的互操作性。最后,文章提到了.NET 9最终发布时将支持通过Mono编译器生成组件,以及componentize-dotnet项目将如何为用户提供选择NativeAOT-LLVM或Mono编译器的便利。文章鼓励有兴趣的开发者加入Bytecode Alliance社区并参与componentize-dotnet项目。

根据这篇文章的最新的适用于 .NET 9 RC 2 和 Wasmtime 26.0.0的代码示例: https://github.com/henrikrxn/webassembly-experiments/blob/main/dotnet-9/componentize-dotnet/README.md[5]

相关链接:

posted @ 2024-11-03 09:39  张善友  阅读(709)  评论(0编辑  收藏  举报