Wasmtime 17.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Wasmtime --version 17.0.0
NuGet\Install-Package Wasmtime -Version 17.0.0
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="17.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Wasmtime --version 17.0.0
#r "nuget: Wasmtime, 17.0.0"
#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=17.0.0

// Install Wasmtime as a Cake Tool
#tool nuget:?package=Wasmtime&version=17.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 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 is compatible.  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 was computed.  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.
  • net7.0

    • No dependencies.

NuGet packages (10)

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

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..

OpaDotNet.Wasm

Open Policy Agent (OPA) WebAssembly dotnet core SDK

DOPA

A .NET API for evaluating OPA policies compiled as WebAssembly modules.

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on Wasmtime:

Repository Stars
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
19.0.1 171 4/7/2024
19.0.0 237 3/27/2024
18.0.0 130 3/27/2024
17.0.0 2,735 1/26/2024
16.0.0 2,670 1/2/2024
15.0.0 790 11/21/2023
14.0.0 22,113 10/24/2023
13.0.0 1,763 9/22/2023
12.0.2 197 9/21/2023
12.0.1 167 9/21/2023
12.0.0 2,797 8/21/2023
11.0.2 182 9/22/2023
11.0.1 10,453 7/27/2023
11.0.0 208 7/27/2023
10.0.2 157 9/22/2023
10.0.1 174 9/22/2023
10.0.0 1,134 7/5/2023
9.0.3 617 6/2/2023
9.0.2 1,120 5/30/2023
9.0.1 9,209 5/22/2023
9.0.0 224 5/22/2023
8.0.1 3,372 4/27/2023
8.0.0 624 4/21/2023
7.0.1 269 4/27/2023
7.0.0 963 4/1/2023
6.0.2 291 4/27/2023
6.0.1 1,792 3/8/2023
6.0.0 882 2/27/2023
5.0.1 624 3/8/2023
5.0.0 63,179 1/25/2023
4.0.1 388 3/8/2023
4.0.0 503 1/25/2023
3.0.0 24,166 12/8/2022
2.0.2 889 11/10/2022
2.0.1 637 11/9/2022
2.0.0 448 11/9/2022
1.0.2 504 11/11/2022
1.0.1 476 11/9/2022
1.0.0 2,046 9/26/2022
0.40.0-preview1 2,676 8/29/2022
0.39.1-preview2 2,873 8/11/2022
0.39.1-preview1 195 8/10/2022
0.39.0-preview1 206 8/10/2022
0.38.1-preview1 1,769 6/29/2022
0.38.0-preview1 214 6/29/2022
0.37.0-preview1 903 6/14/2022
0.36.0-preview1 821 4/26/2022
0.35.2-preview1 1,714 4/5/2022
0.35.1-preview1 216 4/5/2022
0.35.0-preview1 491 3/9/2022
0.34.0-preview1 18,775 2/11/2022
0.33.0-preview2 17,630 1/25/2022
0.33.0-preview1 627 1/7/2022
0.32.1-preview1 231 1/7/2022
0.32.0-preview1 516 12/18/2021
0.31.0-preview1 7,767 11/1/2021
0.30.0-preview1 6,702 9/17/2021
0.29.0-preview1 782 8/6/2021
0.28.0-preview1 39,800 6/15/2021
0.27.0-preview1 1,046 5/22/2021
0.26.1-preview1 262 5/21/2021
0.26.0-preview1 719 4/20/2021
0.25.0-preview1 967 3/18/2021
0.24.0-preview1 337 3/18/2021
0.23.0-preview1 522 2/19/2021
0.22.1-preview1 2,205 1/19/2021
0.22.0-preview1 413 1/19/2021
0.21.0-preview1 584 1/14/2021
0.20.0-preview1 1,523 11/2/2020
0.19.0-preview1 1,615 7/24/2020
0.18.1-preview1 923 7/1/2020
0.18.0-preview1 585 6/30/2020
0.15.0-preview1 1,077 4/6/2020
0.12.0-preview1 838 2/26/2020
0.8.0-preview2 662 12/5/2019
0.8.0-preview1 514 11/23/2019
0.0.1-alpha1 524 10/2/2019

Update Wasmtime to 17.0.0.