Rxmxnx.PInvoke.Extensions
3.0.1
dotnet add package Rxmxnx.PInvoke.Extensions --version 3.0.1
NuGet\Install-Package Rxmxnx.PInvoke.Extensions -Version 3.0.1
<PackageReference Include="Rxmxnx.PInvoke.Extensions" Version="3.0.1" />
<PackageVersion Include="Rxmxnx.PInvoke.Extensions" Version="3.0.1" />
<PackageReference Include="Rxmxnx.PInvoke.Extensions" />
paket add Rxmxnx.PInvoke.Extensions --version 3.0.1
#r "nuget: Rxmxnx.PInvoke.Extensions, 3.0.1"
#:package Rxmxnx.PInvoke.Extensions@3.0.1
#addin nuget:?package=Rxmxnx.PInvoke.Extensions&version=3.0.1
#tool nuget:?package=Rxmxnx.PInvoke.Extensions&version=3.0.1
Description
Rxmxnx.PInvoke.Extensions is a library for safe, typed, and allocation-conscious interop on .NET — from Native AOT to Mono, Unity, and WebAssembly.
Work with UTF-8 the way native APIs already do, keep pointer intent in your signatures, and pin memory only for as long as a callback or using scope lasts.
Features
- UTF-8 / ASCII strings —
CString,CStringSequence, andCStringBuilderfor interop and binary pipelines. - Typed pointers —
ValPtr<T>,ReadOnlyValPtr<T>, andFuncPtr<TDelegate>without spreadingunsafe. - Scoped fixed memory — pin spans and references for a callback, including struct-based functional interfaces (the form used on every TFM). Delegate overloads remain on the original modern TFMs (.NET Standard 2.1 / .NET Core 3.0+, until 2.9.5).
- Managed buffers — stack-first temporary storage for values and object references.
- Runtime awareness —
AotInfoandSystemInfofor Native AOT, Mono, and OS checks. - Retrocompatible hosts — the same modern APIs on Framework, Standard, .NET, Mono, UWP, Unity, and Xamarin. Until 2.9.5 the package targeted runtimes that support .NET Standard 2.1; later versions add more TFMs without replacing that baseline.
Documentation
The repository README is a short landing page. Guides for capabilities, use cases, and APIs live in the docs/ folder, including language versions (C# 7.3 / 11 / 13) and which members exist on .NET Framework / UWP / .NET Standard 2.0.
XML comments in the source remain the complete member-level reference.
License
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. 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 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. net9.0 is compatible. 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 is compatible. 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 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 is compatible. netcoreapp3.1 is compatible. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net452 is compatible. net46 is compatible. net461 is compatible. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. 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. |
| Universal Windows Platform | uap10.0.16299 is compatible. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 2.1
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Text.Json (>= 5.0.2)
-
.NETCoreApp 3.0
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Text.Json (>= 5.0.2)
-
.NETCoreApp 3.1
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
- System.Text.Json (>= 6.0.11)
-
.NETFramework 4.5.2
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.3.0)
- System.ValueTuple (>= 4.5.0)
-
.NETFramework 4.6
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.3.0)
- System.ValueTuple (>= 4.5.0)
-
.NETFramework 4.6.1
- Microsoft.Bcl.AsyncInterfaces (>= 6.0.0)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.3.0)
- System.Text.Json (>= 6.0.11)
- System.ValueTuple (>= 4.5.0)
-
.NETFramework 4.6.2
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Memory (>= 10.0.11)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.3.0)
- System.Text.Json (>= 10.0.11)
- System.ValueTuple (>= 4.6.2)
-
.NETFramework 4.7
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Memory (>= 10.0.11)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.3.0)
- System.Text.Json (>= 10.0.11)
-
.NETFramework 4.7.1
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Memory (>= 10.0.11)
- System.Text.Json (>= 10.0.11)
-
.NETFramework 4.7.2
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Memory (>= 10.0.11)
- System.Text.Json (>= 10.0.11)
-
.NETStandard 2.0
- System.Memory (>= 4.5.5)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
-
.NETStandard 2.1
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
-
net10.0
- No dependencies.
-
net5.0
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
- System.Text.Json (>= 6.0.11)
-
net6.0
- System.Text.Json (>= 8.0.6)
-
net7.0
- System.Text.Json (>= 8.0.6)
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
-
UAP 10.0.16299
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Memory (>= 9.0.19)
- System.Text.Json (>= 6.0.11)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Rxmxnx.PInvoke.Extensions:
| Package | Downloads |
|---|---|
|
Rxmxnx.JNetInterface.Core
Rxmxnx.JNetInterface.Core provides an API to use JNI in a high level .NET code. |
|
|
Rxmxnx.JNetInterface
Rxmxnx.JNetInterface provides an implementation of the Java Native Interface and Invocation API for use within the .NET ecosystem. |
|
|
Mxrx.NetHost.Fxr
Mxrx.NetHost.Fxr provides a flexible and powerful API for building custom .NET hosts using Native AOT technology. |
|
|
Rxmxnx.JNetInterface.Mobile
Rxmxnx.JNetInterface.Mobile provides an implementation of the Java Native Interface API for use within the .NET Android. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.1 | 123 | 8/27/2026 |
| 2.9.5 | 292 | 6/10/2026 |
| 2.9.0 | 830 | 3/10/2026 |
| 2.8.5 | 427 | 1/26/2026 |
| 2.8.2 | 183 | 1/16/2026 |
| 2.8.0 | 279 | 12/25/2025 |
| 2.7.4 | 1,554 | 11/13/2025 |
| 2.7.1 | 1,195 | 8/31/2025 |
| 2.7.0 | 341 | 8/18/2025 |
| 2.6.0 | 718 | 7/13/2025 |
| 2.5.2 | 295 | 6/21/2025 |
| 2.5.1 | 481 | 6/16/2025 |
| 2.2.7 | 662 | 5/4/2025 |
| 2.2.6 | 893 | 4/9/2025 |
| 2.2.5 | 636 | 4/8/2025 |
| 2.2.3 | 906 | 3/19/2025 |