Yubico.NativeShims
1.11.0
dotnet add package Yubico.NativeShims --version 1.11.0
NuGet\Install-Package Yubico.NativeShims -Version 1.11.0
<PackageReference Include="Yubico.NativeShims" Version="1.11.0" />
paket add Yubico.NativeShims --version 1.11.0
#r "nuget: Yubico.NativeShims, 1.11.0"
// Install Yubico.NativeShims as a Cake Addin #addin nuget:?package=Yubico.NativeShims&version=1.11.0 // Install Yubico.NativeShims as a Cake Tool #tool nuget:?package=Yubico.NativeShims&version=1.11.0
Yubico.NativeShims
Yubico.NativeShims is a cross-platform C library designed to bridge the gap in native interoperation (interop) within the .NET environment. It serves as a foundational tool to handle nuances in API signatures and build configurations across different operating systems, facilitating a more unified and streamlined P/Invoke integration for Yubico's development stack.
Why Yubico.NativeShims?
Unified P/Invoke Contracts: Addresses the limitations of P/Invoke by providing a single, universal contract that adapts to platform-specific differences in native library APIs, avoiding the need for multiple, complex P/Invoke signatures.
Optimized Native Dependencies: Incorporates essential functionalities from native libraries directly, reducing the SDK's footprint by allowing static linking and selective inclusion of dependencies, ensuring a leaner, more efficient library.
Building Yubico.NativeShims
Prerequisites
- VCPKG: Utilizes VCPKG to manage native dependencies. Ensure
VCPKG_INSTALLATION_ROOT
environment variable is set to your VCPKG installation path. - Platforms: Supports Windows (x86, x64, arm64), macOS (x64, arm64), and Linux (Ubuntu x64, arm64) through GitHub Actions CI workflows for comprehensive build coverage.
Windows Build
- Install Visual Studio with C++ workload and ARM64 build tools.
- Use "x64 Native tools command prompt" to navigate and run
./build-windows.ps1
.
macOS Build
- Requires XCode
- pkg-config (brew install pkg-config)
- Navigate to Yubico.NativeShims folder and run
sh ./build-macos.sh
.
Linux Build
- Should ideally be run in a container (targeting Ubuntu 20.04) to avoid making changes to your environment.
- Run
sh ./build-linux-amd64
orsh ./build-linux-arm64
depending on the target architecture.
Refer to the provided scripts and GitHub Actions CI workflows for detailed building instructions across different platforms and architectures.
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. |
.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 is compatible. 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. |
-
.NETFramework 4.7
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Yubico.NativeShims:
Package | Downloads |
---|---|
Yubico.Core
Yubico.Core is a support library used by other .NET Yubico libraries. You should likely never need to consume this package directly, as it will be included with other libraries. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Yubico.NativeShims:
Repository | Stars |
---|---|
Yubico/Yubico.NET.SDK
A YubiKey SDK for .NET developers
|