PlatformKit.Extensions.OperatingSystem
1.2.0
This release contains an issue whereby it would break API compatibility with 1.1.0
See the version list below for details.
dotnet add package PlatformKit.Extensions.OperatingSystem --version 1.2.0
NuGet\Install-Package PlatformKit.Extensions.OperatingSystem -Version 1.2.0
<PackageReference Include="PlatformKit.Extensions.OperatingSystem" Version="1.2.0" />
paket add PlatformKit.Extensions.OperatingSystem --version 1.2.0
#r "nuget: PlatformKit.Extensions.OperatingSystem, 1.2.0"
// Install PlatformKit.Extensions.OperatingSystem as a Cake Addin #addin nuget:?package=PlatformKit.Extensions.OperatingSystem&version=1.2.0 // Install PlatformKit.Extensions.OperatingSystem as a Cake Tool #tool nuget:?package=PlatformKit.Extensions.OperatingSystem&version=1.2.0
PlatformKit.Extensions.OperatingSystem
Usage
To replace the existing OperatingSystem class in .NET Standard 2 with this one, use this in your using namespaces:
#if NETSTANDARD2_0
using OperatingSystem = PlatformKit.Extensions.OperatingSystem.OperatingSystemExtension;
#endif
About
PlatformKit.Extensions.OperatingSystem adds Windows, macOS, Linux, and FreeBSD detection methods to the System.OperatingSystem class via extension methods.
This can be added to any .NET Standard 2.0 project.
Compatibility
The following tables indicate Operating Systems that have detection methods in this library.
Although "Mac Catalyst" as a target is not explicitly supported, implicit support can be detected by getting using
In PlatformKit 4.x, you can use:
if(OperatingSystem.IsMacOS()){
if(MacOsAnalyzer.IsAtLeastVersion(new Version(10, 13)){
// Mac Catalyst specific code goes here
}
}
In PlatformKit 3.x, you should use:
if(OperatingSystem.IsMacOS()){
MacOsAnalyzer macOSAnalyzer = new MacOsAnalyzer();
if(macOsAnalyzer.IsAtLeastVersion(new Version(10, 13)){
// Mac Catalyst specific code goes here
}
}
Desktop Operating Systems
Operating System Target | Support Status |
---|---|
Windows | ✅, Supported |
Linux | ✅, Supported |
FreeBSD | ✅, Supported |
macOS | ✅, Supported |
Mac Catalyst | ❌, Not Supported |
Mobile Operating Systems
Operating System | Support Status |
---|---|
IOS | ❌, Not Supported |
tvOS | ❌, Not Supported |
watchOS | ❌, Not Supported |
Android | ❌, Not Supported |
Android TV | ❌, Not Supported |
wearOS | ❌, Not Supported |
Tizen | ❌, Not Supported |
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 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.System.Extensions (>= 3.0.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on PlatformKit.Extensions.OperatingSystem:
Package | Downloads |
---|---|
PlatformKit
Cross-platform Operating System Detection, Operating System Version Detection, Apple Silicon Mac Detection, programmatic .NET Runtime ID Generation, and more. For a full list of features please visit: https://github.com/alastairlundy/PlatformKit/blob/main/docs/FeatureComparisonByPlatform.md |
GitHub repositories
This package is not used by any popular GitHub repositories.
### Changes since 1.1.0
* Moved previous code to a separate new repo
* Split up main class so that each extension gets its own class
* Bump dependency on System Extensions package to 3.0.1 to fix a potential issue where Argument Exceptions would be needlessly thrown