Skip to content

Repository files navigation

FclEx LICENSE Build

FclEx means fundamental class libraries extensions.

It started as a set of small, practical extensions for the .NET standard libraries. Over time it also grew into a collection of focused extensions for common libraries such as Microsoft.Extensions.*, ASP.NET Core, Entity Framework Core, Dapper, Serilog, SlackNet, RabbitMQ, Kafka, Newtonsoft.Json, YamlDotNet, and xUnit. The FclEx prefix is kept across the repository for consistency.

This repository is a multi-package library collection. Each package is intentionally scoped around one area, while sharing the same conventions and core utility layer.

Packages

Package Target Frameworks NuGet
FclEx.Abp netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.AspNetCore net8.0 net9.0 net10.0
FclEx.AspNetCore.Testing net8.0 net9.0 net10.0
FclEx.Caching netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Caching.Redis netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Core netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Dapper netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.DependencyInjection netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.EfCore net8.0 net9.0 net10.0
FclEx.Http netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Logging netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Messaging netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.NewRelic netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.NewtonsoftJson netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Options netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Serilog netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Serilog.Slack netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Slack netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Xunit netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.Xunit.v3 netstandard2.0 net472 net8.0 net9.0 net10.0
FclEx.YamlDotNet netstandard2.0 net472 net8.0 net9.0 net10.0
Package Details
Package Target Frameworks
FclEx.Abp ABP integration helpers for FclEx, including module setup, conventional registration, telemetry suppression, and AspectCore-based login retry and return-value caching interceptors.
FclEx.AspNetCore ASP.NET Core helpers for requests, sessions, model state, endpoints, authorization, request buffering, decompression, and logging context.
FclEx.AspNetCore.Testing Integration-test helpers built around WebApplicationFactory, test content roots, and selective external HTTP forwarding.
FclEx.Caching Cache abstractions and EasyCaching-based implementations for FclEx, including typed cache managers, configuration helpers, and System.Text.Json serialization patches.
FclEx.Caching.Redis Redis-backed caching extensions for FclEx, including EasyCaching Redis integration, typed Redis collection wrappers, and collection configuration helpers.
FclEx.Core Foundational extensions, operation results, action pipelines, domain entity contracts, collection helpers, JSON/XML helpers, and general utilities.
FclEx.Dapper Dapper and ADO.NET helpers for CRUD operations, transactions, dynamic parameters, SQL adapters, and type handlers.
FclEx.DependencyInjection Convenience extensions for service registration, replacement, removal, decoration, scopes, and provider lookup.
FclEx.EfCore Entity Framework Core query, update, soft-delete, schema, SSH tunnel, and test-model helpers.
FclEx.Http HTTP service helpers, request actions, response parsing, downloads/uploads, cookies, authentication, AngleSharp HTML helpers, and user-client abstractions.
FclEx.Logging Microsoft logging helpers for scoped properties, logger creation, operation timing, null fallbacks, and logging cleanup.
FclEx.Messaging Kafka and RabbitMQ helpers for consumers, publishers, routers, message conversion, retry metadata, and messaging logs.
FclEx.NewRelic New Relic agent helpers and NerdGraph NRQL client support.
FclEx.NewtonsoftJson Newtonsoft.Json converters and helpers for flexible JSON parsing, serialization, JToken, and XML conversion.
FclEx.Options Helpers for registering prebuilt, factory-created, and service-configured options.
FclEx.Serilog Serilog configuration helpers, enrichers, filters, formatters, and sinks.
FclEx.Serilog.Slack Serilog sink support for sending batched log events to Slack.
FclEx.Slack SlackNet registration, Slack API extensions, message builders, webhook helpers, and table-to-message formatting.
FclEx.Xunit xUnit v2 assertions, conditional test attributes, output helpers, logging integration, and test utilities.
FclEx.Xunit.v3 xUnit v3 variant of the FclEx test helper package.
FclEx.YamlDotNet YamlDotNet helpers, options, converters, naming conventions, and YAML node extensions.

How To Choose A Package

Start with FclEx.Core when you need general .NET extensions and utility types. Add one of the integration packages only when you are using the corresponding library or framework.

For example:

Repository Layout

  • src/ contains the library projects.
  • test/ contains the corresponding test projects.
  • build/ contains build and release helper scripts.
  • misc/ contains supporting projects such as benchmarks.

Notes

The packages are small by design: most APIs are extension methods, focused helpers, or composable building blocks. Prefer referencing the package that matches the library you are extending instead of pulling in the full repository surface.

About

Fundamental .NET library extensions and integration helpers for common ecosystems such as Microsoft.Extensions, ASP.NET Core, EF Core, Dapper, Serilog, RabbitMQ, Kafka, JSON, YAML, and xUnit.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages