Wasmtime 20.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Wasmtime --version 20.0.2                
NuGet\Install-Package Wasmtime -Version 20.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Wasmtime" Version="20.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Wasmtime --version 20.0.2                
#r "nuget: Wasmtime, 20.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Wasmtime as a Cake Addin
#addin nuget:?package=Wasmtime&version=20.0.2

// Install Wasmtime as a Cake Tool
#tool nuget:?package=Wasmtime&version=20.0.2                

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

  • .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 3,785 7/9/2024
21.0.1 565 6/29/2024
20.0.2 148 6/28/2024
19.0.1 6,887 4/7/2024
19.0.0 916 3/27/2024
18.0.0 186 3/27/2024
17.0.0 9,190 1/26/2024
16.0.0 4,216 1/2/2024
15.0.0 889 11/21/2023
14.0.0 49,196 10/24/2023
13.0.0 1,900 9/22/2023
12.0.2 229 9/21/2023
12.0.1 205 9/21/2023
12.0.0 2,837 8/21/2023
11.0.2 217 9/22/2023
11.0.1 50,710 7/27/2023
11.0.0 242 7/27/2023
10.0.2 189 9/22/2023
10.0.1 211 9/22/2023
10.0.0 1,168 7/5/2023
9.0.3 668 6/2/2023
9.0.2 1,474 5/30/2023
9.0.1 25,105 5/22/2023
9.0.0 256 5/22/2023
8.0.1 3,815 4/27/2023
8.0.0 724 4/21/2023
7.0.1 305 4/27/2023
7.0.0 1,013 4/1/2023
6.0.2 326 4/27/2023
6.0.1 1,823 3/8/2023
6.0.0 907 2/27/2023
5.0.1 650 3/8/2023
5.0.0 66,216 1/25/2023
4.0.1 411 3/8/2023
4.0.0 528 1/25/2023
3.0.0 31,779 12/8/2022
2.0.2 948 11/10/2022
2.0.1 662 11/9/2022
2.0.0 470 11/9/2022
1.0.2 525 11/11/2022
1.0.1 487 11/9/2022
1.0.0 2,176 9/26/2022
0.40.0-preview1 2,730 8/29/2022
0.39.1-preview2 2,914 8/11/2022
0.39.1-preview1 217 8/10/2022
0.39.0-preview1 219 8/10/2022
0.38.1-preview1 1,829 6/29/2022
0.38.0-preview1 232 6/29/2022
0.37.0-preview1 921 6/14/2022
0.36.0-preview1 856 4/26/2022
0.35.2-preview1 1,743 4/5/2022
0.35.1-preview1 233 4/5/2022
0.35.0-preview1 521 3/9/2022
0.34.0-preview1 19,359 2/11/2022
0.33.0-preview2 17,941 1/25/2022
0.33.0-preview1 667 1/7/2022
0.32.1-preview1 253 1/7/2022
0.32.0-preview1 546 12/18/2021
0.31.0-preview1 7,838 11/1/2021
0.30.0-preview1 6,751 9/17/2021
0.29.0-preview1 824 8/6/2021
0.28.0-preview1 49,539 6/15/2021
0.27.0-preview1 1,082 5/22/2021
0.26.1-preview1 279 5/21/2021
0.26.0-preview1 773 4/20/2021
0.25.0-preview1 1,111 3/18/2021
0.24.0-preview1 360 3/18/2021
0.23.0-preview1 541 2/19/2021
0.22.1-preview1 2,304 1/19/2021
0.22.0-preview1 437 1/19/2021
0.21.0-preview1 615 1/14/2021
0.20.0-preview1 1,566 11/2/2020
0.19.0-preview1 1,701 7/24/2020
0.18.1-preview1 959 7/1/2020
0.18.0-preview1 609 6/30/2020
0.15.0-preview1 1,088 4/6/2020
0.12.0-preview1 883 2/26/2020
0.8.0-preview2 688 12/5/2019
0.8.0-preview1 531 11/23/2019
0.0.1-alpha1 544 10/2/2019

Update Wasmtime to 20.0.2.