Z3.Multiplatform
4.12.2
dotnet add package Z3.Multiplatform --version 4.12.2
NuGet\Install-Package Z3.Multiplatform -Version 4.12.2
<PackageReference Include="Z3.Multiplatform" Version="4.12.2" />
<PackageVersion Include="Z3.Multiplatform" Version="4.12.2" />
<PackageReference Include="Z3.Multiplatform" />
paket add Z3.Multiplatform --version 4.12.2
#r "nuget: Z3.Multiplatform, 4.12.2"
#:package Z3.Multiplatform@4.12.2
#addin nuget:?package=Z3.Multiplatform&version=4.12.2
#tool nuget:?package=Z3.Multiplatform&version=4.12.2
Z3.Multiplatform
An unofficial repackage of the Z3 theorem prover 4.12.2
that bundles the managed binding and the native library for every runtime Z3 publishes a build
for, so a plain PackageReference resolves the correct native on restore — no build-time
downloads, no per-RID MSBuild plumbing.
This exists because the official Microsoft.Z3 package (4.12.0+) drops the Linux native and ships
CPU-architecture-locked managed bindings (its Windows Microsoft.Z3.dll is x64/x86-flagged and
will not load in an arm64 process). This package instead ships the AnyCPU managed binding —
which loads in any process on any OS — and selects the native per RID.
Usage
<PackageReference Include="Z3.Multiplatform" Version="4.12.2" />
Then use the Microsoft.Z3 API as normal:
using Microsoft.Z3;
using var ctx = new Context();
// ...
No additional configuration is required for RID-targeted publishes or for framework-dependent
runs (including dotnet test) — the .NET host resolves the matching native from the package's
runtimes/<rid>/native/ assets.
Supported runtimes
| RID | Native |
|---|---|
win-x64 |
libz3.dll |
win-x86 |
libz3.dll |
linux-x64 |
libz3.so (built against glibc 2.31 for broad distro compatibility) |
linux-arm64 |
libz3.so |
osx-x64 |
libz3.dylib |
osx-arm64 |
libz3.dylib |
Not supported (no upstream native exists for Z3 4.12.2): win-arm64, and musl-based Linux
(linux-musl-*, e.g. Alpine — the bundled Linux builds are glibc-only).
Provenance & integrity
All binaries are extracted unmodified from the official Z3 4.12.2 release archives (GitHub
releases; the linux-arm64 native from the upstream PyPI manylinux2014_aarch64 wheel, which has
no GitHub asset). Each archive is verified against a pinned SHA-256 at pack time before extraction.
The managed Microsoft.Z3.dll is the AnyCPU build taken from the Linux glibc archive.
License
Z3 is © Microsoft Corporation, licensed under the MIT License. This package redistributes the official binaries unmodified and is itself MIT-licensed. It is not an official Microsoft or Z3 distribution.
Maintaining
The package is produced by Z3.Multiplatform.csproj. To release a new Z3
version: bump Z3Version, update the six pinned SHA-256 values (and the PyPI wheel URL if its hash
path changed), and tag z3-multiplatform-vX.Y.Z to trigger the publish workflow. To republish the
same Z3 version, bump only the package Version (e.g. 4.12.2.1).
| 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 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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 was computed. |
| .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. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.12.2 | 272 | 6/29/2026 |