SystemLibrary.Common.Framework 8.5.0.2

dotnet add package SystemLibrary.Common.Framework --version 8.5.0.2
                    
NuGet\Install-Package SystemLibrary.Common.Framework -Version 8.5.0.2
                    
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="SystemLibrary.Common.Framework" Version="8.5.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SystemLibrary.Common.Framework" Version="8.5.0.2" />
                    
Directory.Packages.props
<PackageReference Include="SystemLibrary.Common.Framework" />
                    
Project file
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 SystemLibrary.Common.Framework --version 8.5.0.2
                    
#r "nuget: SystemLibrary.Common.Framework, 8.5.0.2"
                    
#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 SystemLibrary.Common.Framework@8.5.0.2
                    
#: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=SystemLibrary.Common.Framework&version=8.5.0.2
                    
Install as a Cake Addin
#tool nuget:?package=SystemLibrary.Common.Framework&version=8.5.0.2
                    
Install as a Cake Tool

SystemLibrary Common Framework

Description

Framework for every .NET application.

Requirements

>= .NET 8

Access & Contribute

GitHub Source

To request access, email support@systemlibrary.com with your GitHub username and specify the repo.

Read-only access is granted on request — no questions asked.
Once approved, you can fork, clone, and submit pull requests.

🚀 Features

🔧 Initialization

Use AddFrameworkServices() and AddFrameworkMiddlewares() to enable HTTPS redirection, caching, logging, auth, cookie policies, endpoints, and more.

var options = new FrameworkOptions();
services.AddFrameworkServices(options);
app.AddFrameworkMiddlewares(options);

⚙️ Config Mapping

Auto-binds JSON config files to C# classes by name, with transformations based on environment name.

~/myconfig.json: { url: "www.systemlibrary.com" }

class MyConfig : Config<MyConfig> { public string Url { get; set; } }
var url = MyConfig.Instance.Url;

📝 Logging

Global Log instance with .Dump() – similar to console.log in JavaScript.

Log.Dump(typeof(string));
Log.Error("hello");

🧠 Cache

Sharded global cache with fallback, metrics, and auto key generation.

var value = Cache.Get<string>("key", () => Compute());

🌐 HTTP Client

Client which caches underlying HttpClient with automatic retry policies, metrics and a circuit breaker [Gold Tier].

var json = Client.Get<string>("https://api.example.com/data");
var json2 = "https://api.example.com/data".Get<string>();

Metric UI

A metric UI rendering a pie chart per metric with the option to set a token to lock down the UI

/metrics/ui 

📦 Extensions

.Json(), .PartialJson(), .Encrypt(), .Decrypt(), .ToBase64(), .FromBase64(), .Compress(), .Decompress(), .Obfuscate(), .Deobfuscate(), .Is(), .IsNot(), .GetCompressedId() and more...

var json = user.Json();
var compressedId = json.GetCompressedId();
var encrypted = json.Encrypt();
var obfuscated = json.Obfuscate();
var hash = json.ToSha1Hash();
var base64 = json.ToBase64();

🔐 Encryption

Encrypt/decrypt using AES CBC PKCS7 via string/byte extensions with global key management.

var encrypted = "secret".Encrypt();
var decrypted = encrypted.Decrypt();

🧩 Enhanced Enums

Decorate enums with [EnumText] and [EnumValue], and a JsonConverter is registered and injected into MVC, serialization/deserialization uses the attributes too. Use ToValue() or ToText() on the Enum yourself.

enum Role { 
	[EnumValue("adm")]
	[EnumText("Administrator")]
	Admin,

	Guest
}
...
var role = Role.Admin.ToText(); // `Administrator`
var value = Role.Admin.ToValue(); // `adm`

var role = Role.Guest.ToText(); // `Guest`
var value = Role.Guest.ToValue(); // `Guest`

📡 BaseApiController

All API classes can inherit this, endpoints naturally registered and easily add attributes such as: [OriginFilter], [ApiTokenFilter] and [UserAgentFilter].

Automatic 📖 /docs endpoint listing all routes, inputs, and metadata.

[ApiTokenFilter(name: "hello", value: "world")]
public class MyApi : BaseApiController 
{ 
}

🔗 ModelBinder

Model bindings auto-registered for DateTime and enum types — built to correctly parse most inputs into the values you actually want.

public class Controller 
{
	ActionResult Index(Role role, DateTime date) 
	{
	}
}

Latest Release Notes

  • 8.5.0.2
  • Docs updated (fix)
  • Async.Run removed, not in use (clean)
  • Vision.md created (new)
Version history

View git history of this file if interested

Installation

Installation guide

Documentation

Documentation with code samples

Nuget

Latest version

Vision

Futuristic vision to be a full framework: Future Vision

License

Free with Tiered Pricing for additional features at https://www.systemlibrary.com/

Dependencies

Product Compatible and additional computed target framework versions.
.NET 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.  net9.0 was computed.  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 was computed.  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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SystemLibrary.Common.Framework:

Package Downloads
SystemLibrary.Common.Episerver

Library with classes, methods and dijits for every .NET >= 8 episerver web application https://github.com/systemlibrary/systemlibrary-common-episerver/#Description Installation https://systemlibrary.github.io/systemlibrary-common-episerver/Install.html Documentation with sample code https://systemlibrary.github.io/systemlibrary-common-episerver/

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.5.0.2 19 7/18/2025
8.5.0.1 106 7/17/2025
8.4.0.7 173 6/24/2025