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 | 8,972 | 7/9/2024 |
21.0.1 | 584 | 6/29/2024 |
20.0.2 | 168 | 6/28/2024 |
19.0.1 | 8,808 | 4/7/2024 |
19.0.0 | 1,229 | 3/27/2024 |
18.0.0 | 197 | 3/27/2024 |
17.0.0 | 13,338 | 1/26/2024 |
16.0.0 | 4,886 | 1/2/2024 |
15.0.0 | 908 | 11/21/2023 |
14.0.0 | 62,973 | 10/24/2023 |
13.0.0 | 1,913 | 9/22/2023 |
12.0.2 | 242 | 9/21/2023 |
12.0.1 | 213 | 9/21/2023 |
12.0.0 | 2,850 | 8/21/2023 |
11.0.2 | 224 | 9/22/2023 |
11.0.1 | 95,692 | 7/27/2023 |
11.0.0 | 251 | 7/27/2023 |
10.0.2 | 200 | 9/22/2023 |
10.0.1 | 218 | 9/22/2023 |
10.0.0 | 1,176 | 7/5/2023 |
9.0.3 | 703 | 6/2/2023 |
9.0.2 | 1,489 | 5/30/2023 |
9.0.1 | 28,529 | 5/22/2023 |
9.0.0 | 263 | 5/22/2023 |
8.0.1 | 3,864 | 4/27/2023 |
8.0.0 | 800 | 4/21/2023 |
7.0.1 | 316 | 4/27/2023 |
7.0.0 | 1,025 | 4/1/2023 |
6.0.2 | 337 | 4/27/2023 |
6.0.1 | 1,830 | 3/8/2023 |
6.0.0 | 918 | 2/27/2023 |
5.0.1 | 657 | 3/8/2023 |
5.0.0 | 66,898 | 1/25/2023 |
4.0.1 | 422 | 3/8/2023 |
4.0.0 | 539 | 1/25/2023 |
3.0.0 | 37,168 | 12/8/2022 |
2.0.2 | 955 | 11/10/2022 |
2.0.1 | 674 | 11/9/2022 |
2.0.0 | 477 | 11/9/2022 |
1.0.2 | 536 | 11/11/2022 |
1.0.1 | 498 | 11/9/2022 |
1.0.0 | 2,206 | 9/26/2022 |
0.40.0-preview1 | 2,734 | 8/29/2022 |
0.39.1-preview2 | 2,917 | 8/11/2022 |
0.39.1-preview1 | 220 | 8/10/2022 |
0.39.0-preview1 | 222 | 8/10/2022 |
0.38.1-preview1 | 1,839 | 6/29/2022 |
0.38.0-preview1 | 238 | 6/29/2022 |
0.37.0-preview1 | 927 | 6/14/2022 |
0.36.0-preview1 | 865 | 4/26/2022 |
0.35.2-preview1 | 1,757 | 4/5/2022 |
0.35.1-preview1 | 239 | 4/5/2022 |
0.35.0-preview1 | 527 | 3/9/2022 |
0.34.0-preview1 | 19,418 | 2/11/2022 |
0.33.0-preview2 | 18,060 | 1/25/2022 |
0.33.0-preview1 | 673 | 1/7/2022 |
0.32.1-preview1 | 257 | 1/7/2022 |
0.32.0-preview1 | 550 | 12/18/2021 |
0.31.0-preview1 | 7,841 | 11/1/2021 |
0.30.0-preview1 | 6,757 | 9/17/2021 |
0.29.0-preview1 | 827 | 8/6/2021 |
0.28.0-preview1 | 50,795 | 6/15/2021 |
0.27.0-preview1 | 1,110 | 5/22/2021 |
0.26.1-preview1 | 282 | 5/21/2021 |
0.26.0-preview1 | 776 | 4/20/2021 |
0.25.0-preview1 | 1,165 | 3/18/2021 |
0.24.0-preview1 | 363 | 3/18/2021 |
0.23.0-preview1 | 547 | 2/19/2021 |
0.22.1-preview1 | 2,340 | 1/19/2021 |
0.22.0-preview1 | 440 | 1/19/2021 |
0.21.0-preview1 | 618 | 1/14/2021 |
0.20.0-preview1 | 1,575 | 11/2/2020 |
0.19.0-preview1 | 1,728 | 7/24/2020 |
0.18.1-preview1 | 966 | 7/1/2020 |
0.18.0-preview1 | 613 | 6/30/2020 |
0.15.0-preview1 | 1,091 | 4/6/2020 |
0.12.0-preview1 | 888 | 2/26/2020 |
0.8.0-preview2 | 698 | 12/5/2019 |
0.8.0-preview1 | 534 | 11/23/2019 |
0.0.1-alpha1 | 549 | 10/2/2019 |
Update Wasmtime to 22.0.0.