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¶
- Purpose: Orleans actor integration for templates that enable
UseOrleans. - NuGet: 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¶
- Purpose: Microsoft Agent Framework integration when
UseMicrosoftAgentFrameworkis enabled. - NuGet: 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¶
- Purpose: Audit.NET integration when
UseAuditNetis enabled. - NuGet: 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¶
- Purpose: Response compression helpers when
Compressionis enabled. - NuGet: ConnectSoft.Extensions.Compression
10. ConnectSoft.Extensions.DataAnnotations¶
- Purpose: Adds validation functionality on top of
DataAnnotations(e.g.NotDefaultAttributefor 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¶
- Purpose: MySQL implementation for ConnectSoft.Extensions.DatabaseModel (
UseNHibernatestack). - NuGet: ConnectSoft.Extensions.DatabaseModel.MySql
13. ConnectSoft.Extensions.DatabaseModel.PostgreSQL¶
- Purpose: PostgreSQL implementation for ConnectSoft.Extensions.DatabaseModel.
- NuGet: ConnectSoft.Extensions.DatabaseModel.PostgreSQL
14. ConnectSoft.Extensions.DatabaseModel.SqlServer¶
- Purpose: SQL Server implementation for ConnectSoft.Extensions.DatabaseModel (NHibernate and/or Orleans scenarios).
- NuGet: ConnectSoft.Extensions.DatabaseModel.SqlServer
15. ConnectSoft.Extensions.DataIngestion¶
- Purpose: Vector / data ingestion helpers when
UseVectorIngestionis enabled. - NuGet: ConnectSoft.Extensions.DataIngestion
16. ConnectSoft.Extensions.Diagnostics.HealthChecks¶
- Purpose: Shared building blocks for health checks (
DelegateHealthCheck, validated options). - Use Cases: Production health endpoints, orchestrators, load balancers.
- NuGet: ConnectSoft.Extensions.Diagnostics.HealthChecks
- Source: Repository
- Status: Stable
17. ConnectSoft.Extensions.Diagnostics.HealthChecks.Orleans¶
- Purpose: Orleans cluster/silo/grain/storage health checks.
- Key Features: Cluster and silo checks, storage checks, Azure integration options.
- NuGet: ConnectSoft.Extensions.Diagnostics.HealthChecks.Orleans
- Source: Repository
- Status: Stable
18. ConnectSoft.Extensions.Diagnostics.HealthChecks.SignalR¶
- Purpose: SignalR hub connectivity health checks.
- NuGet: ConnectSoft.Extensions.Diagnostics.HealthChecks.SignalR
- Source: Repository
- Status: Stable
19. ConnectSoft.Extensions.Diagnostics.Metrics¶
- Purpose: Metrics helpers aligned with ConnectSoft observability conventions.
- NuGet: ConnectSoft.Extensions.Diagnostics.Metrics
20. ConnectSoft.Extensions.DomainModel¶
- Purpose: Contracts for domain services and use cases (
IDomainService,IUseCase<,>), DDD-friendly application cores. - Framework: .NET 8 and .NET 10
- NuGet: ConnectSoft.Extensions.DomainModel
- Source: Repository
21. ConnectSoft.Extensions.DomainModel.Impl¶
- Purpose: Default implementations/shells for domain patterns built on ConnectSoft.Extensions.DomainModel.
- NuGet: ConnectSoft.Extensions.DomainModel.Impl
- Source: Repository
22. ConnectSoft.Extensions.EntityModel¶
- Purpose: DDD modeling bases: entities, value objects, aggregate roots, rich enums.
- NuGet: ConnectSoft.Extensions.EntityModel
- Source: Repository
23. ConnectSoft.Extensions.Localization¶
- Purpose: Localization with strongly typed options, validation, resource factory registration, culture configuration.
- NuGet: ConnectSoft.Extensions.Localization
- Source: Repository
- Status: Stable
24. ConnectSoft.Extensions.Logging¶
- Purpose: Structured logging helpers and conventions used across templates.
- NuGet: ConnectSoft.Extensions.Logging
25. ConnectSoft.Extensions.Logging.Serilog¶
- Purpose: Serilog adapter/integration when
Serilogis enabled. - NuGet: ConnectSoft.Extensions.Logging.Serilog
26. ConnectSoft.Extensions.MessagingModel¶
- Purpose: Messaging-agnostic abstractions: commands, events, bus contracts.
- NuGet: ConnectSoft.Extensions.MessagingModel
- Source: Repository
27. ConnectSoft.Extensions.MessagingModel.MassTransit¶
- Purpose: MassTransit implementation of the messaging model (
IEventBus, etc.). - NuGet: ConnectSoft.Extensions.MessagingModel.MassTransit
- Source: Repository
28. ConnectSoft.Extensions.MessagingModel.NServiceBus¶
- Purpose: NServiceBus implementation of the messaging model; DI extensions and header propagation helpers.
- NuGet: ConnectSoft.Extensions.MessagingModel.NServiceBus
- Source: Repository
29. ConnectSoft.Extensions.ModelContextProtocol¶
- Purpose: Model Context Protocol (MCP) server/host integration when
UseMCPis enabled. - NuGet: ConnectSoft.Extensions.ModelContextProtocol
30. ConnectSoft.Extensions.Observability¶
- Purpose: OpenTelemetry and observability wiring helpers when
OpenTelemetryis enabled. - NuGet: ConnectSoft.Extensions.Observability
31. ConnectSoft.Extensions.Options¶
- Purpose: Standard options registration with validation (
IValidateOptions, fail-fast, auto-activation). - NuGet: ConnectSoft.Extensions.Options
- Source: Repository
- Status: Stable
32. ConnectSoft.Extensions.PersistenceModel¶
- Purpose: Repository, unit of work, specifications, queries — persistence abstraction over stores.
- NuGet: ConnectSoft.Extensions.PersistenceModel
- Source: Repository
33. ConnectSoft.Extensions.PersistenceModel.DependencyInjection¶
- Purpose: DI registration for query builder and specification locator (
MicrosoftQueryBuilder, etc.). - NuGet: ConnectSoft.Extensions.PersistenceModel.DependencyInjection
- Source: Repository
34. ConnectSoft.Extensions.PersistenceModel.MongoDb¶
- Purpose: MongoDB persistence: repositories, UoW, specifications, migrations hooks, telemetry.
- NuGet: ConnectSoft.Extensions.PersistenceModel.MongoDb
- Source: Repository
- Status: Stable
35. ConnectSoft.Extensions.PersistenceModel.NHibernate¶
- Purpose: NHibernate-backed repositories, UoW, specifications, logging, DI.
- NuGet: ConnectSoft.Extensions.PersistenceModel.NHibernate
- Source: Repository
36. ConnectSoft.Extensions.RateLimiting¶
- Purpose: Rate limiting integration when
RateLimitingis enabled. - NuGet: ConnectSoft.Extensions.RateLimiting
37. ConnectSoft.Extensions.RequestTimeout¶
- Purpose: Request timeout middleware/options when
RequestTimeoutis enabled. - NuGet: ConnectSoft.Extensions.RequestTimeout
38. ConnectSoft.Extensions.SchedulerModel.HangFire¶
- Purpose: Hangfire scheduler integration when
UseHangFireis enabled. - NuGet: ConnectSoft.Extensions.SchedulerModel.HangFire
39. ConnectSoft.Extensions.Scalar¶
- Purpose: Scalar OpenAPI UI integration when
Scalaris enabled. - NuGet: ConnectSoft.Extensions.Scalar
40. ConnectSoft.Extensions.ServiceDiscovery¶
- Purpose: .NET service discovery extensions aligned with ConnectSoft templates.
- NuGet: ConnectSoft.Extensions.ServiceDiscovery
41. ConnectSoft.Extensions.ServiceModel¶
- Purpose: Service contracts, faults, and shared service/message primitives across REST, gRPC, CoreWCF, etc.
- NuGet: ConnectSoft.Extensions.ServiceModel
- Source: Repository
42. ConnectSoft.Extensions.ServiceModel.Grpc¶
- Purpose: gRPC hosting: code-first services, faults, interceptors, compression, logging.
- NuGet: ConnectSoft.Extensions.ServiceModel.Grpc
- Source: Repository
- Status: Stable
43. ConnectSoft.Extensions.ServiceModel.SignalR¶
- Purpose: SignalR integration for service layer when
UseSignalRis enabled. - NuGet: ConnectSoft.Extensions.ServiceModel.SignalR
44. ConnectSoft.Extensions.Swagger¶
- Purpose: Swashbuckle/Swagger integration helpers when
Swaggeris enabled. - NuGet: ConnectSoft.Extensions.Swagger
45. ConnectSoft.Extensions.Testing¶
- Purpose: Test-only utilities (
TestServerForwardingHandler,TestMeterFactory, host/client disposal helpers) for acceptance and unit tests. - Documentation: ConnectSoft.Documentation — extensions-testing
- NuGet: ConnectSoft.Extensions.Testing
- Status: Stable (test-focused API)
46. ConnectSoft.Extensions.Transactions¶
- Purpose:
ITransaction/ transactional boundary abstraction shared across persistence strategies. - NuGet: ConnectSoft.Extensions.Transactions
- Source: Repository
47. ConnectSoft.Extensions.Validation.FluentValidation¶
- Purpose: FluentValidation integration aligned with ConnectSoft validation patterns.
- NuGet: ConnectSoft.Extensions.Validation.FluentValidation
48. ConnectSoft.Extensions.WebSecurity¶
- Purpose: Security headers and web security middleware helpers.
- NuGet: ConnectSoft.Extensions.WebSecurity
49. ConnectSoft.Net.Http¶
- Purpose:
HttpClienthelpers (e.g.DeleteAsJsonAsync,SubdirectoryHandlerfor 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¶
- Purpose: Jewish calendar and Hebrew text utilities.
- NuGet: ConnectSoft.Extensions.Globalization
- Status: Stable
A2. ConnectSoft.Text.Json¶
- Purpose:
System.Text.Jsonenhancements (e.g. enum[EnumMember]support). - NuGet: ConnectSoft.Text.Json
- Source: Repository
A3. ConnectSoft.Extensions.Http.OAuth2¶
- Purpose: OAuth 2.0 token acquisition, named clients, caching, test hooks.
- NuGet: ConnectSoft.Extensions.Http.OAuth2
- Source: Repository
A4. ConnectSoft.Extensions.AspNetCore¶
- Purpose: ASP.NET Core utilities (e.g. Server-Timing, AJAX detection). Distinct from ConnectSoft.AspNetCore.Http (No. 1).
- NuGet: ConnectSoft.Extensions.AspNetCore
- Source: Repository
- Status: Stable
A5. ConnectSoft.Extensions.ServiceModel.Grpc.Client¶
- Purpose: gRPC client for code-first contracts aligned with ConnectSoft.Extensions.ServiceModel.Grpc (No. 42).
- NuGet: ConnectSoft.Extensions.ServiceModel.Grpc.Client
- Source: Repository
- Status: Stable
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();