Wasmtime 22.0.0
dotnet add package Wasmtime --version 22.0.0
NuGet\Install-Package Wasmtime -Version 22.0.0
<PackageReference Include="Wasmtime" Version="22.0.0" />
paket add Wasmtime --version 22.0.0
#r "nuget: Wasmtime, 22.0.0"
// Install Wasmtime as a Cake Addin #addin nuget:?package=Wasmtime&version=22.0.0 // Install Wasmtime as a Cake Tool #tool nuget:?package=Wasmtime&version=22.0.0
Installation
You can add a package reference with the .NET SDK:
$ dotnet add package wasmtime
Introduction
For this introduction, we'll be using a simple WebAssembly module that imports a hello
function and exports a run
function:
(module
(func $hello (import "" "hello"))
(func (export "run") (call $hello))
)
To use this module from .NET, create a new console project:
$ mkdir wasmintro
$ cd wasmintro
$ dotnet new console
Next, add a reference to the Wasmtime package:
$ dotnet add package wasmtime
Replace the contents of Program.cs
with the following code:
using System;
using Wasmtime;
using var engine = new Engine();
using var module = Module.FromText(
engine,
"hello",
"(module (func $hello (import \"\" \"hello\")) (func (export \"run\") (call $hello)))"
);
using var linker = new Linker(engine);
using var store = new Store(engine);
linker.Define(
"",
"hello",
Function.FromCallback(store, () => Console.WriteLine("Hello from C#!"))
);
var instance = linker.Instantiate(store, module);
var run = instance.GetAction("run")!;
run();
An Engine
is created and then a WebAssembly module is loaded from a string in WebAssembly text format.
A Linker
defines a function called hello
that simply prints a hello message.
The module is instantiated and the instance's run
export is invoked.
To run the application, simply use dotnet
:
$ dotnet run
This should print Hello from C#!
.
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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.0
- IndexRange (>= 1.0.2)
- System.Memory (>= 4.5.5)
-
.NETStandard 2.1
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Wasmtime:
Package | Downloads |
---|---|
Opa.Wasm
Call Open Policy Agent (OPA) policies in WASM (Web Assembly) from .NET |
|
DevCycle.SDK.Server.Local
.NET Server Local Bucketing SDK for DevCycle |
|
OpaDotNet.Wasm
Open Policy Agent (OPA) WebAssembly dotnet core SDK |
|
Deislabs.WAGI
Provides a configuration driven method to add WAGI modules as route endpoints to ASP.Net Core applications using WAGI.WARNING: WAGI is experimental. It is not considered production-grade by its developers, neither is it "supported" software.. |
|
DOPA
A .NET API for evaluating OPA policies compiled as WebAssembly modules. |
GitHub repositories (5)
Showing the top 5 popular GitHub repositories that depend on Wasmtime:
Repository | Stars |
---|---|
betwixt-labs/bebop
🎷No ceremony, just code. Blazing fast, typesafe binary serialization.
|
|
PixiEditor/PixiEditor
PixiEditor is a pixel art editor made with .NET 8
|
|
SteveSandersonMS/DotNetIsolator
A library for running isolated .NET runtimes inside .NET
|
|
JasonBock/Rocks
A mocking library based on the Compiler APIs (Roslyn + Mocks)
|
|
bytecodealliance/wasmtime-demos
Historical and dated demos for Wasmtime usage and WASI content
|
Version | Downloads | Last updated |
---|---|---|
22.0.0 | 6,510 | 7/9/2024 |
21.0.1 | 574 | 6/29/2024 |
20.0.2 | 158 | 6/28/2024 |
19.0.1 | 8,134 | 4/7/2024 |
19.0.0 | 1,208 | 3/27/2024 |
18.0.0 | 191 | 3/27/2024 |
17.0.0 | 11,589 | 1/26/2024 |
16.0.0 | 4,582 | 1/2/2024 |
15.0.0 | 902 | 11/21/2023 |
14.0.0 | 57,650 | 10/24/2023 |
13.0.0 | 1,906 | 9/22/2023 |
12.0.2 | 230 | 9/21/2023 |
12.0.1 | 206 | 9/21/2023 |
12.0.0 | 2,843 | 8/21/2023 |
11.0.2 | 218 | 9/22/2023 |
11.0.1 | 78,344 | 7/27/2023 |
11.0.0 | 244 | 7/27/2023 |
10.0.2 | 194 | 9/22/2023 |
10.0.1 | 212 | 9/22/2023 |
10.0.0 | 1,170 | 7/5/2023 |
9.0.3 | 681 | 6/2/2023 |
9.0.2 | 1,483 | 5/30/2023 |
9.0.1 | 27,865 | 5/22/2023 |
9.0.0 | 257 | 5/22/2023 |
8.0.1 | 3,854 | 4/27/2023 |
8.0.0 | 755 | 4/21/2023 |
7.0.1 | 310 | 4/27/2023 |
7.0.0 | 1,014 | 4/1/2023 |
6.0.2 | 331 | 4/27/2023 |
6.0.1 | 1,824 | 3/8/2023 |
6.0.0 | 908 | 2/27/2023 |
5.0.1 | 651 | 3/8/2023 |
5.0.0 | 66,729 | 1/25/2023 |
4.0.1 | 416 | 3/8/2023 |
4.0.0 | 533 | 1/25/2023 |
3.0.0 | 34,303 | 12/8/2022 |
2.0.2 | 949 | 11/10/2022 |
2.0.1 | 668 | 11/9/2022 |
2.0.0 | 471 | 11/9/2022 |
1.0.2 | 530 | 11/11/2022 |
1.0.1 | 488 | 11/9/2022 |
1.0.0 | 2,189 | 9/26/2022 |
0.40.0-preview1 | 2,731 | 8/29/2022 |
0.39.1-preview2 | 2,915 | 8/11/2022 |
0.39.1-preview1 | 218 | 8/10/2022 |
0.39.0-preview1 | 220 | 8/10/2022 |
0.38.1-preview1 | 1,836 | 6/29/2022 |
0.38.0-preview1 | 236 | 6/29/2022 |
0.37.0-preview1 | 925 | 6/14/2022 |
0.36.0-preview1 | 863 | 4/26/2022 |
0.35.2-preview1 | 1,752 | 4/5/2022 |
0.35.1-preview1 | 237 | 4/5/2022 |
0.35.0-preview1 | 525 | 3/9/2022 |
0.34.0-preview1 | 19,408 | 2/11/2022 |
0.33.0-preview2 | 18,028 | 1/25/2022 |
0.33.0-preview1 | 671 | 1/7/2022 |
0.32.1-preview1 | 255 | 1/7/2022 |
0.32.0-preview1 | 548 | 12/18/2021 |
0.31.0-preview1 | 7,839 | 11/1/2021 |
0.30.0-preview1 | 6,752 | 9/17/2021 |
0.29.0-preview1 | 825 | 8/6/2021 |
0.28.0-preview1 | 50,613 | 6/15/2021 |
0.27.0-preview1 | 1,097 | 5/22/2021 |
0.26.1-preview1 | 280 | 5/21/2021 |
0.26.0-preview1 | 774 | 4/20/2021 |
0.25.0-preview1 | 1,157 | 3/18/2021 |
0.24.0-preview1 | 361 | 3/18/2021 |
0.23.0-preview1 | 545 | 2/19/2021 |
0.22.1-preview1 | 2,338 | 1/19/2021 |
0.22.0-preview1 | 438 | 1/19/2021 |
0.21.0-preview1 | 616 | 1/14/2021 |
0.20.0-preview1 | 1,567 | 11/2/2020 |
0.19.0-preview1 | 1,723 | 7/24/2020 |
0.18.1-preview1 | 964 | 7/1/2020 |
0.18.0-preview1 | 611 | 6/30/2020 |
0.15.0-preview1 | 1,089 | 4/6/2020 |
0.12.0-preview1 | 886 | 2/26/2020 |
0.8.0-preview2 | 692 | 12/5/2019 |
0.8.0-preview1 | 532 | 11/23/2019 |
0.0.1-alpha1 | 547 | 10/2/2019 |
Update Wasmtime to 22.0.0.