LinuxCore 0.2.6
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package LinuxCore --version 0.2.6
NuGet\Install-Package LinuxCore -Version 0.2.6
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="LinuxCore" Version="0.2.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LinuxCore" Version="0.2.6" />
<PackageReference Include="LinuxCore" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LinuxCore --version 0.2.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LinuxCore, 0.2.6"
#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.
#:package LinuxCore@0.2.6
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LinuxCore&version=0.2.6
#tool nuget:?package=LinuxCore&version=0.2.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
LinuxCore
A thin, AOT-compatible .NET wrapper around Linux libc APIs. Provides ergonomic, low-allocation C# abstractions over raw syscalls for files, sockets, events, polling, scheduling, and more.
Features
- File I/O —
LinuxFileforopen/read/write/fstatwithSpan<byte>support - Memory Files —
LinuxMemoryFileformemfd_createand memfd seals viafcntl - Events & Semaphores —
LinuxEventandLinuxSemaphorebacked byeventfd - Polling —
LinuxPollforpoll()-based readiness notification - Clocks —
LinuxClockfor nanosecond-precision monotonic timestamps - Scheduling —
LinuxSchedulerforsched_setscheduler(FIFO, RR, etc.) - Resource Limits —
LinuxResourceLimitforgetrlimit/setrlimit - Cancellation —
LinuxCancellationTokenbridgesCancellationTokento native poll - Sockets —
UnixSocketfor AF_UNIX sockets andLinuxSocketBasefor shared raw socket operations
Requirements
- Linux (the library is annotated with
[SupportedOSPlatform("linux")]) - .NET 10+
Architecture
The library has two layers:
LinuxCore.Interop— internal P/Invoke declarations using source-generated[LibraryImport]. Each file maps to a libc subsystem.LinuxCore— public API types wrapping the interop layer with safe-ish, idiomatic C# APIs.
File-descriptor-owning types follow this hierarchy:
NativeObject (IDisposable + Finalizer)
└─ FileObject (FileDescriptor, shared I/O and descriptor-control helpers)
├─ LinuxEventBase → LinuxEvent, LinuxSemaphore
├─ LinuxSocketBase → UnixSocket
└─ LinuxFile → LinuxMemoryFile
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- No dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.2 | 35 | 4/7/2026 |
| 0.3.1 | 44 | 4/6/2026 |
| 0.3.0 | 60 | 4/2/2026 |
| 0.2.12 | 43 | 4/1/2026 |
| 0.2.11 | 36 | 3/31/2026 |
| 0.2.10 | 34 | 3/31/2026 |
| 0.2.9 | 37 | 3/31/2026 |
| 0.2.8 | 43 | 3/31/2026 |
| 0.2.7 | 43 | 3/31/2026 |
| 0.2.6 | 57 | 3/29/2026 |
| 0.2.5 | 50 | 3/29/2026 |
| 0.2.4 | 81 | 3/28/2026 |
| 0.2.3 | 102 | 3/28/2026 |
| 0.2.2 | 37 | 3/25/2026 |
| 0.2.1 | 39 | 3/25/2026 |
| 0.2.0 | 41 | 3/22/2026 |
| 0.1.15 | 95 | 2/25/2026 |
| 0.1.14 | 50 | 2/25/2026 |
| 0.1.13 | 100 | 2/23/2026 |
| 0.1.12 | 50 | 2/23/2026 |
Loading failed