Skip to content

Libraries Catalog

This document catalogs ConnectSoft NuGet libraries used with Factory-generated systems and human-authored services. Versions for the microservice stack are pinned in ConnectSoft.BaseTemplate Directory.Packages.props.

ConnectSoft maintains reusable libraries that follow ConnectSoft architectural principles and integrate with multi-tenant SaaS patterns.

Authoritative template package list

The machine-readable table with MSBuild conditions is in ConnectSoft.Documentation: ConnectSoft.Extensions catalog. The numbered list below matches that set (plus non-Extensions ConnectSoft packages in the same CPM file).

Tip

Prefer ConnectSoft.Extensions.* packages for cross-cutting concerns. They are versioned alongside templates on the ConnectSoft feed.

Explicit numbered list (ConnectSoft.BaseTemplate CPM)

These 49 package IDs appear in ConnectSoft.BaseTemplate Central Package Management, in alphabetical order with stable numbers 1–49. Use the same numbers in section titles under Detailed reference.

No. Package ID Typical MSBuild gate
1 ConnectSoft.AspNetCore.Http (none)
2 ConnectSoft.Extensions (varies by project reference)
3 ConnectSoft.Extensions.ActorModel.Orleans UseOrleans == true
4 ConnectSoft.Extensions.AI UseMicrosoftExtensionsAI == true
5 ConnectSoft.Extensions.AI.AgentsFramework UseMicrosoftAgentFramework == true
6 ConnectSoft.Extensions.ApplicationModel (none)
7 ConnectSoft.Extensions.AuditNet UseAuditNet == true
8 ConnectSoft.Extensions.Compliance (none)
9 ConnectSoft.Extensions.Compression Compression == true
10 ConnectSoft.Extensions.DataAnnotations (none)
11 ConnectSoft.Extensions.DatabaseModel UseNHibernate == true
12 ConnectSoft.Extensions.DatabaseModel.MySql UseNHibernate == true
13 ConnectSoft.Extensions.DatabaseModel.PostgreSQL UseNHibernate == true
14 ConnectSoft.Extensions.DatabaseModel.SqlServer UseNHibernate OR UseOrleans
15 ConnectSoft.Extensions.DataIngestion UseVectorIngestion == true
16 ConnectSoft.Extensions.Diagnostics.HealthChecks HealthCheck == true
17 ConnectSoft.Extensions.Diagnostics.HealthChecks.Orleans HealthCheck AND UseOrleans
18 ConnectSoft.Extensions.Diagnostics.HealthChecks.SignalR HealthCheck AND UseSignalR
19 ConnectSoft.Extensions.Diagnostics.Metrics (none)
20 ConnectSoft.Extensions.DomainModel (none)
21 ConnectSoft.Extensions.DomainModel.Impl (none)
22 ConnectSoft.Extensions.EntityModel (none)
23 ConnectSoft.Extensions.Localization (none)
24 ConnectSoft.Extensions.Logging (none)
25 ConnectSoft.Extensions.Logging.Serilog Serilog == true
26 ConnectSoft.Extensions.MessagingModel MessagingModelTypeNone == false
27 ConnectSoft.Extensions.MessagingModel.MassTransit UseMassTransit == true
28 ConnectSoft.Extensions.MessagingModel.NServiceBus UseNServiceBus == true
29 ConnectSoft.Extensions.ModelContextProtocol UseMCP == true
30 ConnectSoft.Extensions.Observability OpenTelemetry == true
31 ConnectSoft.Extensions.Options (none)
32 ConnectSoft.Extensions.PersistenceModel (none)
33 ConnectSoft.Extensions.PersistenceModel.DependencyInjection (none)
34 ConnectSoft.Extensions.PersistenceModel.MongoDb UseMongoDb == true
35 ConnectSoft.Extensions.PersistenceModel.NHibernate UseNHibernate == true
36 ConnectSoft.Extensions.RateLimiting RateLimiting == true
37 ConnectSoft.Extensions.RequestTimeout RequestTimeout == true
38 ConnectSoft.Extensions.SchedulerModel.HangFire UseHangFire == true
39 ConnectSoft.Extensions.Scalar Scalar == true
40 ConnectSoft.Extensions.ServiceDiscovery (none)
41 ConnectSoft.Extensions.ServiceModel (none)
42 ConnectSoft.Extensions.ServiceModel.Grpc UseGrpcHosting == true
43 ConnectSoft.Extensions.ServiceModel.SignalR UseSignalR == true
44 ConnectSoft.Extensions.Swagger Swagger == true
45 ConnectSoft.Extensions.Testing test projects
46 ConnectSoft.Extensions.Transactions (none)
47 ConnectSoft.Extensions.Validation.FluentValidation (none)
48 ConnectSoft.Extensions.WebSecurity (none)
49 ConnectSoft.Net.Http (none)

NuGet feed (substitute package ID): ConnectSoft feed — package search

All packages target .NET 8 and .NET 10 where applicable, per repository settings.

Detailed reference

Extended descriptions use the same numbers 1–49 as the table above.

1. ConnectSoft.AspNetCore.Http

  • Purpose: ASP.NET Core HTTP utilities used by ConnectSoft service templates alongside the rest of the stack.
  • NuGet: ConnectSoft.AspNetCore.Http

2. ConnectSoft.Extensions

  • Purpose: Utility extensions for native .NET types (string, int, DateTime, etc.) and shared base types.
  • Key Features:
    • string.ToSlug(), int.IsEven(), DateTime.IsWeekend()
    • IEnumerable<T>.IsNullOrEmpty()
    • Base exception for domain logic: DomainModelException
  • Use Cases: Utility libraries, shared code, microservices
  • NuGet: ConnectSoft.Extensions
  • Status: Stable

3. ConnectSoft.Extensions.ActorModel.Orleans

4. ConnectSoft.Extensions.AI

  • Typical gate: UseMicrosoftExtensionsAI == true.
  • Purpose: Microsoft.Extensions.AI integration helpers for templates with AI features.
  • NuGet: ConnectSoft.Extensions.AI

5. ConnectSoft.Extensions.AI.AgentsFramework

6. ConnectSoft.Extensions.ApplicationModel

  • Purpose: Shared application-model registration and ASP.NET Core composition primitives used by the microservice host (with template-specific registration layers).
  • NuGet: ConnectSoft.Extensions.ApplicationModel

7. ConnectSoft.Extensions.AuditNet

8. ConnectSoft.Extensions.Compliance

  • Purpose: Reusable compliance and data redaction (PII classification, redaction profiles, logging integration).
  • Key Features: Redaction for email, phone, cards, JWTs, secrets; configurable profiles; structured logging integration.
  • Use Cases: GDPR/SOC2-oriented services, multi-tenant SaaS.
  • NuGet: ConnectSoft.Extensions.Compliance
  • Source: Repository
  • Status: Stable

9. ConnectSoft.Extensions.Compression

10. ConnectSoft.Extensions.DataAnnotations

  • Purpose: Adds validation functionality on top of DataAnnotations (e.g. NotDefaultAttribute for structs).
  • Use Cases: Domain validation, configuration binding, API models.
  • NuGet: ConnectSoft.Extensions.DataAnnotations
  • Status: Stable

11. ConnectSoft.Extensions.DatabaseModel

  • Purpose: Abstraction for database provisioning (IDatabaseHelper) and cross-database setup.
  • Use Cases: Infrastructure initialization, CI/CD, tenant provisioning.
  • NuGet: ConnectSoft.Extensions.DatabaseModel
  • Status: Stable

12. ConnectSoft.Extensions.DatabaseModel.MySql

13. ConnectSoft.Extensions.DatabaseModel.PostgreSQL

14. ConnectSoft.Extensions.DatabaseModel.SqlServer

15. ConnectSoft.Extensions.DataIngestion

16. ConnectSoft.Extensions.Diagnostics.HealthChecks

17. ConnectSoft.Extensions.Diagnostics.HealthChecks.Orleans

18. ConnectSoft.Extensions.Diagnostics.HealthChecks.SignalR

19. ConnectSoft.Extensions.Diagnostics.Metrics

20. ConnectSoft.Extensions.DomainModel

21. ConnectSoft.Extensions.DomainModel.Impl

22. ConnectSoft.Extensions.EntityModel

23. ConnectSoft.Extensions.Localization

24. ConnectSoft.Extensions.Logging

25. ConnectSoft.Extensions.Logging.Serilog

26. ConnectSoft.Extensions.MessagingModel

27. ConnectSoft.Extensions.MessagingModel.MassTransit

28. ConnectSoft.Extensions.MessagingModel.NServiceBus

29. ConnectSoft.Extensions.ModelContextProtocol

30. ConnectSoft.Extensions.Observability

31. ConnectSoft.Extensions.Options

32. ConnectSoft.Extensions.PersistenceModel

33. ConnectSoft.Extensions.PersistenceModel.DependencyInjection

34. ConnectSoft.Extensions.PersistenceModel.MongoDb

35. ConnectSoft.Extensions.PersistenceModel.NHibernate

36. ConnectSoft.Extensions.RateLimiting

37. ConnectSoft.Extensions.RequestTimeout

38. ConnectSoft.Extensions.SchedulerModel.HangFire

39. ConnectSoft.Extensions.Scalar

40. ConnectSoft.Extensions.ServiceDiscovery

41. ConnectSoft.Extensions.ServiceModel

42. ConnectSoft.Extensions.ServiceModel.Grpc

43. ConnectSoft.Extensions.ServiceModel.SignalR

44. ConnectSoft.Extensions.Swagger

45. ConnectSoft.Extensions.Testing

46. ConnectSoft.Extensions.Transactions

47. ConnectSoft.Extensions.Validation.FluentValidation

48. ConnectSoft.Extensions.WebSecurity

49. ConnectSoft.Net.Http

  • Purpose: HttpClient helpers (e.g. DeleteAsJsonAsync, SubdirectoryHandler for reverse-proxy scenarios).
  • NuGet: ConnectSoft.Net.Http
  • Source: Repository

Additional ConnectSoft packages (not in BaseTemplate CPM)

These packages are not in the ConnectSoft.BaseTemplate Directory.Packages.props snapshot above but are published on the same feed and documented for other templates or libraries.

A1. ConnectSoft.Extensions.Globalization

A2. ConnectSoft.Text.Json

A3. ConnectSoft.Extensions.Http.OAuth2

A4. ConnectSoft.Extensions.AspNetCore

A5. ConnectSoft.Extensions.ServiceModel.Grpc.Client

Library Families (Summary)

Library / Namespace Purpose Typical Consumers
ConnectSoft.AspNetCore.Http ASP.NET Core HTTP utilities Web APIs
ConnectSoft.Extensions Core type extensions All projects
ConnectSoft.Extensions.DataAnnotations Validation attributes Domain, DTOs
ConnectSoft.Extensions.DatabaseModel.* DB provisioning Infrastructure, CI
ConnectSoft.Extensions.MessagingModel.* Messaging abstractions Event-driven services
ConnectSoft.Extensions.EntityModel DDD bases Domain
ConnectSoft.Extensions.DomainModel Domain services / use cases Application
ConnectSoft.Extensions.Transactions Transaction boundaries Persistence
ConnectSoft.Extensions.PersistenceModel.* Repositories / specs Data access
ConnectSoft.Extensions.ServiceModel.* Service contracts & hosts API layer
ConnectSoft.Net.Http HttpClient extensions Clients, gateways
ConnectSoft.Extensions.Compliance Redaction / PII Regulated workloads
ConnectSoft.Extensions.Diagnostics.* Health & metrics Operations
ConnectSoft.Extensions.Observability OpenTelemetry helpers All services
ConnectSoft.Extensions.AI.* AI / agents AI-enabled services
ConnectSoft.Text.Json JSON conventions All projects
ConnectSoft.Extensions.Http.OAuth2 OAuth2 clients Integrations
ConnectSoft.Extensions.Globalization Calendar / Hebrew utilities Specialized apps

Common Usage Patterns

Dependency Injection Registration

Pattern: Register libraries in Program.cs or Startup.cs:

using ConnectSoft.Extensions.Logging;
using ConnectSoft.Extensions.MessagingModel;
// … template-specific extensions

var builder = WebApplication.CreateBuilder(args);

// Example: use each library’s documented extension methods from its package README

Using Libraries in Generated Services

Use cases, repositories, and controllers reference ConnectSoft.Extensions.* types directly (logging, messaging abstractions, persistence, options, etc.). Follow the numbered packages in this page and the public Extensions catalog for which packages apply to your template flags.

HTTP Client with Retry and Circuit Breaker

Use ConnectSoft.Net.Http (No. 49) and Polly (from template CPM) per template patterns; see API Library template for resilient client generation.

Audit Logging

Use ConnectSoft.Extensions.AuditNet (No. 7) when audit trail features are enabled in the template.

Versioning and Compatibility

Semantic Versioning

ConnectSoft.Extensions.* libraries use SemVer: major = breaking, minor = features, patch = fixes.

Factory Version Pinning

Generated services pin versions via Central Package Management / PackageReference as produced by the Factory; align upgrades with ConnectSoft.BaseTemplate Directory.Packages.props.

Compatibility Policy

Important

Do not pin versions below those validated for your template generation. Minor/patch upgrades are usually safe; major upgrades need regression testing.

Example Integration

Illustrative composition (names vary by template):

var builder = WebApplication.CreateBuilder(args);
// Register options, logging, persistence, messaging, health checks
// using the extension methods shipped with each ConnectSoft.Extensions package
var app = builder.Build();
app.Run();