PlatformKit 4.0.0
dotnet add package PlatformKit --version 4.0.0
NuGet\Install-Package PlatformKit -Version 4.0.0
<PackageReference Include="PlatformKit" Version="4.0.0" />
paket add PlatformKit --version 4.0.0
#r "nuget: PlatformKit, 4.0.0"
// Install PlatformKit as a Cake Addin
#addin nuget:?package=PlatformKit&version=4.0.0
// Install PlatformKit as a Cake Tool
#tool nuget:?package=PlatformKit&version=4.0.0
PlatformKit
About PlatformKit
PlatformKit is a C# .NET library focusing on dealing with cross-platform OS detection, OS version detection, platform specific code, and platform specific issues.
This can be added to any .NET Standard 2.0, .NET 6, or .NET 8 supported Application or Library.
NOTE: .NET Standard 2 and .NET 6 support is deprecated and will be removed in PlatformKit 5.
Compatibility
PlatformKit Version series | .NET Targets supported |
---|---|
4.x Pre-release | .NET Standard 2.0, .NET 6 (Explicit support) , and .NET 8 (Explicit support) |
3.x | .NET Standard 2.0 and .NET 6 (Explicit support) |
2.0.0 through 2.6.10 | .NET Standard 2.0 |
How to get PlatformKit
You can get PlatformKit on Nuget
PlatformKit Capabilities
To learn more about which versions of PlatformKit support which features, please check out our feature comparison document
Contributions
See Contributing guide for how to contribute to this project.
Apps and Libraries built with PlatformKit
If you'd like to add your app here and it uses this library then please submit a new issue asking for this.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. 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 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. |
.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. |
-
.NETStandard 2.0
- AlastairLundy.Extensions.System (>= 4.0.0)
- PlatformKit.Extensions.OperatingSystem (>= 1.3.0)
-
net6.0
- AlastairLundy.Extensions.System (>= 4.0.0)
-
net8.0
- AlastairLundy.Extensions.System (>= 4.0.0)
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
Detect Installed Software and more. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
4.0.0 | 56 | 5/4/2024 | |
3.7.1 | 74 | 5/4/2024 | |
3.7.0 | 54 | 4/22/2024 | |
3.6.7 | 69 | 4/14/2024 | |
3.6.6 | 63 | 4/12/2024 | |
3.6.5 | 68 | 4/10/2024 | |
3.6.4.1 | 69 | 4/2/2024 | |
3.6.3 | 81 | 3/15/2024 | |
3.6.2 | 82 | 2/25/2024 | |
3.6.1 | 97 | 1/19/2024 | |
3.6.0 | 113 | 1/16/2024 | |
3.5.0 | 126 | 12/28/2023 | |
3.4.1 | 107 | 12/8/2023 | |
3.4.0 | 109 | 9/25/2023 | |
3.3.1 | 154 | 6/21/2023 | |
3.3.0 | 149 | 5/15/2023 | |
3.0.4 | 296 | 11/24/2022 | |
3.0.3 | 371 | 10/27/2022 | |
3.0.2 | 348 | 10/18/2022 | |
3.0.1 | 434 | 9/16/2022 | |
3.0.0 | 387 | 8/29/2022 | |
2.6.10 | 490 | 9/13/2022 | |
2.6.9.1 | 391 | 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 | 552 | 7/25/2022 | |
2.6.6 | 415 | 7/17/2022 | |
2.6.4 | 414 | 6/15/2022 | |
2.6.3 | 407 | 6/6/2022 | |
2.6.2 | 419 | 5/31/2022 | |
2.6.1 | 403 | 5/28/2022 | |
2.6.0 | 434 | 5/10/2022 | |
2.5.5 | 411 | 6/15/2022 | |
2.5.4 | 410 | 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 | 435 | 4/7/2022 | |
2.4.4 | 394 | 5/29/2022 | |
2.4.3 | 412 | 5/7/2022 | |
2.4.2 | 400 | 4/4/2022 | |
2.4.1 | 415 | 4/2/2022 | |
2.4.0 | 445 | 1/26/2022 | |
2.3.2 | 267 | 1/5/2022 | |
2.3.1 | 267 | 12/30/2021 | |
2.3.0 | 301 | 12/15/2021 | |
2.2.3 | 257 | 1/5/2022 | |
2.2.2 | 290 | 12/10/2021 | |
2.2.1 | 289 | 12/10/2021 | |
2.2.0 | 278 | 11/22/2021 | |
2.1.2 | 265 | 1/5/2022 | |
2.1.1 | 293 | 12/10/2021 | |
2.1.0 | 306 | 11/9/2021 | |
2.0.2 | 256 | 1/5/2022 | |
2.0.1 | 292 | 12/10/2021 | |
2.0.0 | 358 | 10/21/2021 |
## Changes since 3.7 series
### Additions
* Added additional enum values to ``LinuxDistroBase``
* Added ``SteamOsAnalyzer`` class that extends ``LinuxOsAnalyzer`` class
* Added support for detecting SteamOS version
* Added support for detecting SteamDeck mode (e.g. Gaming Mode or Desktop Mode)
* Added Target Framework Moniker (TFM) detection
* Improved Runtime ID (RID) detection/generation
### Changes
* Re-licensed the library back to MIT License as the project originally was
* Optimised and Improved code performance in the library
* Fixed issues with FreeBSD Runtime ID Generation
* Moved WMI related code from WindowsAnalyzer to WMISearcher
* Moved Windows Registry code from WindowsAnalyzer to WinRegistrySearcher
* Moved TFM relatee code from the RuntimeIdentification class to TargetFrameworkIdentification class
* Renamed ``MacOSAnalyzer`` class to ``MacOsAnalyzer``
* Renamed ``FreeBSDAnalyzer`` class to ``FreeBsdAnalyzer``
* Renamed``PlatformIdentification`` class to ``PlatformKitIdentification``
* Deprecated some methods in PlatformKitIdentification - These will be removed in V5
* Added a missing case to a method in the RuntimeIdentification class for wasm - This now throws a PlatformNotSupported exception as this isn't supported for Runtime ID generation.
* Renamed some methods in Analyzer classes
* Deprecated some methods that will be removed in V5
* Moved ``NetworkCard`` to the PlatformKit namespace
### Removals
* Removed old debugging code
* Removed ``ConsoleHelper`` class
* Removed support for OS X 10.9 through 10.11 (10.9, 10.10, and 10.11.x) - MacOsAnalyzer will now return ``MacOsVersion.NotSupported`` when attempting to detect any of these versions.
* Removed support for macOS 10.12 "Sierra" - MacOsAnalyzer will now return ``MacOsVersion.NotSupported`` when attempting to detect this version.
* Removed support for Windows 7, Windows 7 SP1, and Windows Server 2008 R2 - WindowsAnalyzer will now return ``WindowsVersion.NotSupported`` when attempting to detect any of these versions.
* Removed ``ProcessManager`` - RunProcess methods have been moved to ``ProcessRunner`` class, RunCommand methods have been moved to ``CommandRunner`` class, and the URL opening method has been moved to the ``UrlRunner`` class.
* Removed ``OSAnalyzer`` class - .NET Standard 2 users of PlatformKit have an additioanl dependency on ``PlatformKit.Extensions.OSDetection`` for Operating System Detection