CSharpEssentials 6.5.2
dotnet add package CSharpEssentials --version 6.5.2
NuGet\Install-Package CSharpEssentials -Version 6.5.2
<PackageReference Include="CSharpEssentials" Version="6.5.2" />
<PackageVersion Include="CSharpEssentials" Version="6.5.2" />
<PackageReference Include="CSharpEssentials" />
paket add CSharpEssentials --version 6.5.2
#r "nuget: CSharpEssentials, 6.5.2"
#:package CSharpEssentials@6.5.2
#addin nuget:?package=CSharpEssentials&version=6.5.2
#tool nuget:?package=CSharpEssentials&version=6.5.2
CSharpEssentials
Meta-package that bundles the core functional modules of the ecosystem. Install this to get the most commonly used packages in one reference.
Included Packages
CSharpEssentials.CoreCSharpEssentials.ErrorsCSharpEssentials.ResultsCSharpEssentials.MaybeCSharpEssentials.JsonCSharpEssentials.AnyCSharpEssentials.TheseCSharpEssentials.RulesCSharpEssentials.EntityCSharpEssentials.HttpCSharpEssentials.TimeCSharpEssentials.CloneCSharpEssentials.Enums
Installation
dotnet add package CSharpEssentials
Usage
This meta-package is the easiest way to start. It targets net11.0, net10.0, net9.0 and netstandard2.1. The other packages are installed separately: CSharpEssentials.Validation, CSharpEssentials.Mediator, CSharpEssentials.Resilience, CSharpEssentials.Endpoints, CSharpEssentials.DependencyInjection, CSharpEssentials.EntityFrameworkCore, CSharpEssentials.AspNetCore (with CSharpEssentials.AspNetCore.OpenApi or CSharpEssentials.AspNetCore.Swashbuckle), CSharpEssentials.RequestResponseLogging and CSharpEssentials.GcpSecretManager.
using CSharpEssentials.Errors;
using CSharpEssentials.Maybe;
using CSharpEssentials.ResultPattern;
Maybe<User> maybe = FindUser(1);
Result<User> result = maybe.ToResult(Error.NotFound("User.Missing", "User not found."));
Extensions in the meta-package
The assembly itself adds a few helpers that combine the bundled packages:
using System.Text.Json;
using CSharpEssentials.Json; // JsonExtensions
using CSharpEssentials.Maybe;
using CSharpEssentials.ResultPattern;
using CSharpEssentials.Time; // TimeExtensions
using JsonDocument doc = JsonDocument.Parse("""{"a":{"b":5},"userName":"x"}""");
Result<JsonElement> name = doc.RootElement.TryGetProperty("user_name", "userName"); // the first name that exists
Result<JsonElement?> five = doc.TryGetNestedProperty("a", "b"); // walks the names as a path
long? timestamp = 1_700_000_000_000;
Maybe<DateTime> date = timestamp.MsToDateTime(); // None for null, or the default you pass
TryGetProperty and TryGetNestedProperty return a failed Result (PropertyNotFound as the error code when no name matches, NoPropertyNames when you pass none, DocumentIsNull for a null document) instead of throwing.
| 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. net11.0 is compatible. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | 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.1
- CSharpEssentials.Any (>= 6.5.2)
- CSharpEssentials.Clone (>= 6.5.2)
- CSharpEssentials.Core (>= 6.5.2)
- CSharpEssentials.Entity (>= 6.5.2)
- CSharpEssentials.Enums (>= 6.5.2)
- CSharpEssentials.Errors (>= 6.5.2)
- CSharpEssentials.Http (>= 6.5.2)
- CSharpEssentials.Json (>= 6.5.2)
- CSharpEssentials.Maybe (>= 6.5.2)
- CSharpEssentials.Results (>= 6.5.2)
- CSharpEssentials.Rules (>= 6.5.2)
- CSharpEssentials.These (>= 6.5.2)
- CSharpEssentials.Time (>= 6.5.2)
- Microsoft.Bcl.TimeProvider (>= 8.0.0)
- Polly.Core (>= 8.0.0 && < 9.0.0)
- System.Net.Http.Json (>= 9.0.0)
- System.Text.Json (>= 9.0.4)
-
net10.0
- CSharpEssentials.Any (>= 6.5.2)
- CSharpEssentials.Clone (>= 6.5.2)
- CSharpEssentials.Core (>= 6.5.2)
- CSharpEssentials.Entity (>= 6.5.2)
- CSharpEssentials.Enums (>= 6.5.2)
- CSharpEssentials.Errors (>= 6.5.2)
- CSharpEssentials.Http (>= 6.5.2)
- CSharpEssentials.Json (>= 6.5.2)
- CSharpEssentials.Maybe (>= 6.5.2)
- CSharpEssentials.Results (>= 6.5.2)
- CSharpEssentials.Rules (>= 6.5.2)
- CSharpEssentials.These (>= 6.5.2)
- CSharpEssentials.Time (>= 6.5.2)
- Microsoft.Extensions.Configuration (>= 9.0.4)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.4)
- Microsoft.Extensions.Http (>= 9.0.4)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.4)
- Polly.Core (>= 8.0.0 && < 9.0.0)
-
net11.0
- CSharpEssentials.Any (>= 6.5.2)
- CSharpEssentials.Clone (>= 6.5.2)
- CSharpEssentials.Core (>= 6.5.2)
- CSharpEssentials.Entity (>= 6.5.2)
- CSharpEssentials.Enums (>= 6.5.2)
- CSharpEssentials.Errors (>= 6.5.2)
- CSharpEssentials.Http (>= 6.5.2)
- CSharpEssentials.Json (>= 6.5.2)
- CSharpEssentials.Maybe (>= 6.5.2)
- CSharpEssentials.Results (>= 6.5.2)
- CSharpEssentials.Rules (>= 6.5.2)
- CSharpEssentials.These (>= 6.5.2)
- CSharpEssentials.Time (>= 6.5.2)
- Microsoft.Extensions.Configuration (>= 9.0.4)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.4)
- Microsoft.Extensions.Http (>= 9.0.4)
- Polly.Core (>= 8.0.0 && < 9.0.0)
-
net9.0
- CSharpEssentials.Any (>= 6.5.2)
- CSharpEssentials.Clone (>= 6.5.2)
- CSharpEssentials.Core (>= 6.5.2)
- CSharpEssentials.Entity (>= 6.5.2)
- CSharpEssentials.Enums (>= 6.5.2)
- CSharpEssentials.Errors (>= 6.5.2)
- CSharpEssentials.Http (>= 6.5.2)
- CSharpEssentials.Json (>= 6.5.2)
- CSharpEssentials.Maybe (>= 6.5.2)
- CSharpEssentials.Results (>= 6.5.2)
- CSharpEssentials.Rules (>= 6.5.2)
- CSharpEssentials.These (>= 6.5.2)
- CSharpEssentials.Time (>= 6.5.2)
- Microsoft.Extensions.Configuration (>= 9.0.4)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.4)
- Microsoft.Extensions.Http (>= 9.0.4)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.4)
- Polly.Core (>= 8.0.0 && < 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 6.5.2 | 82 | 10/10/2026 |
| 6.5.1 | 83 | 10/10/2026 |
| 6.5.0 | 84 | 10/9/2026 |
| 6.4.0 | 81 | 10/9/2026 |
| 6.3.0 | 82 | 10/8/2026 |
| 6.2.0 | 80 | 10/8/2026 |
| 6.1.0 | 82 | 10/7/2026 |
| 6.0.0 | 82 | 10/7/2026 |
| 5.2.1 | 88 | 10/7/2026 |
| 5.2.0 | 84 | 10/7/2026 |
| 5.1.0 | 84 | 10/7/2026 |
| 5.0.0 | 86 | 10/6/2026 |
| 4.1.0 | 87 | 10/6/2026 |
| 4.0.0 | 93 | 10/5/2026 |
| 3.2.3 | 263 | 5/31/2026 |
| 3.2.2 | 129 | 5/31/2026 |
| 3.2.1 | 130 | 5/31/2026 |
| 3.2.0 | 129 | 5/30/2026 |
| 3.1.0 | 143 | 5/27/2026 |
| 3.0.8 | 126 | 5/20/2026 |