PlatformKit 2.5.0

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

// Install PlatformKit as a Cake Tool
#tool nuget:?package=PlatformKit&version=2.5.0

PlatformKit (formerly AluminiumCoreLib)

About PlatformKit

PlatformKit is an attempt at making this C# library more lightweight and focussing specifically on dealing with Platform specific code, platform specific issues, and platform detection.

This can be added to any .NET Standard 2.0, .NET Core 3.1, .NET 5, or .NET 6 supported Application.

NuGet NuGet

How to get PlatformKit

You can get PlatformKit on Nuget

Contributions

See Contributing guide for how to contribute to this project.

To see what we're thinking of working on next, check out PlatformKit's Roadmap

Apps and Libraries built with PlatformKit

If you'd like to add your app here and it uses this library then submit a new issue asking for this.

Product 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 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 is compatible. 
.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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on PlatformKit:

Package Downloads
PlatformKit.Hardware

Hardware Detection made easy in C#. From the creators of PlatformKit.

PlatformKit.Software

A C# library to detect installed software and more.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.2.0 50 6/21/2024
4.1.0 44 6/11/2024
4.0.1 52 5/19/2024
4.0.0 75 5/4/2024
3.7.2 38 6/11/2024
3.7.1 87 5/4/2024
3.7.0 59 4/22/2024
3.6.7 72 4/14/2024
3.6.6 65 4/12/2024
3.6.5 71 4/10/2024
3.6.4.1 70 4/2/2024
3.6.3 82 3/15/2024
3.6.2 84 2/25/2024
3.6.1 100 1/19/2024
3.6.0 114 1/16/2024
3.5.0 127 12/28/2023
3.4.1 108 12/8/2023
3.4.0 110 9/25/2023
3.3.1 155 6/21/2023
3.3.0 150 5/15/2023
3.0.4 297 11/24/2022
3.0.3 375 10/27/2022
3.0.2 348 10/18/2022
3.0.1 436 9/16/2022
3.0.0 388 8/29/2022
2.6.10 492 9/13/2022
2.6.9.1 392 8/25/2022
2.6.9 389 8/18/2022
2.6.8 399 8/18/2022
2.6.7 420 8/11/2022
2.6.6.1 554 7/25/2022
2.6.6 415 7/17/2022
2.6.4 415 6/15/2022
2.6.3 407 6/6/2022
2.6.2 420 5/31/2022
2.6.1 403 5/28/2022
2.6.0 434 5/10/2022
2.5.5 412 6/15/2022
2.5.4 411 5/30/2022
2.5.3 411 5/28/2022
2.5.2 400 5/10/2022
2.5.1 408 5/7/2022
2.5.0 436 4/7/2022
2.4.4 395 5/29/2022
2.4.3 412 5/7/2022
2.4.2 401 4/4/2022
2.4.1 415 4/2/2022
2.4.0 447 1/26/2022
2.3.2 268 1/5/2022
2.3.1 268 12/30/2021
2.3.0 301 12/15/2021
2.2.3 258 1/5/2022
2.2.2 291 12/10/2021
2.2.1 289 12/10/2021
2.2.0 279 11/22/2021
2.1.2 266 1/5/2022
2.1.1 294 12/10/2021
2.1.0 307 11/9/2021
2.0.2 257 1/5/2022
2.0.1 293 12/10/2021
2.0.0 360 10/21/2021

## Changes since 2.4 series

### Additions
* Additions for Windows platform
    * Re-added new `GetWMIValue()` method
    * Added new Windows enums `WindowsEdition`
    * Added Windows Edition Detection
    * Move Windows analysis code to `WindowsAnalyzer` class - Existing methods in the WindowsSoftwareDetection class is deprecated and will be removed in PlatformKit 3.0
* Additions for macOS platform
    * Added in code documentation for `MacProcessorType` enum
    * macOS Detection support for:
         * XNU version
         * Darwin version
         * macOS version
         * macOS Build String
    * Re-added `RunMacCommand()` method
    * Re-added `MacSystemProfilerDataType` enum
    * Fixed macOS Runtime ID Generation now that macOS version detection exists in PlatformKit.
* Additions for all platforms
    * Added Shared Model `ReleaseYearModel` and Shared Enum `ReleaseYearTimeframe`
    * Changed `LinuxOsRelease` struct to a class
    * Added additional in code documentation

### Changes
* Clarified deprecation of `RunCommand` to suggest alternatives.
* Moved `ShowLicenseInConsole` method to `ConsoleHelper` class - A copy will remain in the PlatformManager class until PlatformKit V3
* Restructured folder and namespace directory
* Moved Windows Software Detection to separate files
* Changed several structs to Classes
* Fixed issues with Runtime ID Generation on Linux
* Fixed issues with detecting OsRelease information on Linux
* Minor Tweaks

### Deprecations
* macOS 10.13 support has been deprecated and will throw an error in V5.
* Delayed deprecation of Windows 8.1 and Windows Server 2012 R2 support from V4 to V5.
* Deprecated `RunActionOn` method - This will be removed in V3 and will not be replaced.
* Deprecated `IWinManagementObjectSearcher` interface - This will be removed in PlatformKit 3.0
* Deprecated `WindowsSoftwareDetection` class and `IWindowsSoftwareDetection` interface - This will be removed in PlatformKit 3.0

### Known Issues
* WinManagementObjectSearcher method `public Dictionary<string, string> Get(List<string> queryObjectsList, string wmiClass)` does not return WMI values correctly.
* `GetWMIValue()` method does not return WMI value correctly.