Yubico.NativeShims 1.11.0

dotnet add package Yubico.NativeShims --version 1.11.0                
NuGet\Install-Package Yubico.NativeShims -Version 1.11.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="Yubico.NativeShims" Version="1.11.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Yubico.NativeShims --version 1.11.0                
#r "nuget: Yubico.NativeShims, 1.11.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 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?

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

  2. 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 or sh ./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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .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
Version Downloads Last updated
1.11.0 2,703 6/29/2024
1.10.0 39,235 4/11/2024
1.9.0 20,929 10/13/2023
1.6.1 8,934 2/3/2023
1.6.0 987 1/16/2023
1.5.2 1,667 11/18/2022
1.5.1 390 11/4/2022
1.5.0 1,155 10/28/2022
1.3.1 5,390 4/1/2022