cCoder.Core
2026.7.31.1719
dotnet add package cCoder.Core --version 2026.7.31.1719
NuGet\Install-Package cCoder.Core -Version 2026.7.31.1719
<PackageReference Include="cCoder.Core" Version="2026.7.31.1719" />
<PackageVersion Include="cCoder.Core" Version="2026.7.31.1719" />
<PackageReference Include="cCoder.Core" />
paket add cCoder.Core --version 2026.7.31.1719
#r "nuget: cCoder.Core, 2026.7.31.1719"
#:package cCoder.Core@2026.7.31.1719
#addin nuget:?package=cCoder.Core&version=2026.7.31.1719
#tool nuget:?package=cCoder.Core&version=2026.7.31.1719
cCoder.Core
cCoder.Core is the aggregate package for the cCoder platform. It composes the domain packages published from the separate cCoder.* repositories and is the package used by the aggregate sample applications in this repository.
What This Repo Contains
src/cCoder.CoreThe aggregate NuGet package.src/cCoder.Core.TestsUnit tests for the aggregate package.src/Apps/WebThe aggregate web host used to validate the full package graph.src/Apps/HostedServicesThe aggregate hosted-services app used to validate non-web runtime wiring.src/Apps/Web.AcceptanceTestsAcceptance coverage for the aggregate web host.src/Apps/HostedServices.AcceptanceTestsAcceptance coverage for the aggregate hosted-services app.src/Apps/cCoder.IntegrationTestsFull-process integration coverage across the aggregate hosts.
Run Locally
The application configuration binds directly from appsettings.json, the
environment-specific appsettings file, and environment variables into
CoreConfiguration. Values left empty in appsettings are secrets that must be
defined as user-level or machine-level environment variables.
For a normal local SQL Server setup, define:
AppSecurity__ConnectionString
Security__ConnectionString
Security__DecryptionKey
ContentManagement__ConnectionString
DocumentManagement__ConnectionString
Logging__ConnectionString
Mail__ConnectionString
Packaging__ConnectionString
Workflow__ConnectionString
Optional provider credentials, such as Mail or Azure Service Bus credentials,
and AI provider API keys use the same Section__Property naming shown by the
matching appsettings section.
The Microsoft Graph integration path requires:
Mail__Providers__3__MicrosoftGraph__TenantId
Mail__Providers__3__MicrosoftGraph__ClientId
Mail__Providers__3__MicrosoftGraph__ClientSecret
CoreIntegrationTests__MailSendUser
CoreIntegrationTests__MailReceiveUser
After setting those variables, restart Visual Studio so it receives the updated environment, select the Web and HostedServices startup projects, and press F5. There is no configuration conversion step and no local secrets file to generate.
Build And Test
dotnet restore src\cCoder.Core.slnx --source https://api.nuget.org/v3/index.json --no-cache
dotnet build src\cCoder.Core.slnx -c Release --no-restore
dotnet test src\cCoder.Core.slnx -c Release --no-build --settings src\cCoder.Core.runsettings
The acceptance and integration tests use the same
AppSecurity__ConnectionString, Security__ConnectionString, and
Security__DecryptionKey variables as the applications. A single shared test
configuration source appends -acceptance-{guid} to both database names,
resets those isolated databases before running, and drops them during cleanup.
The integration suite defaults to HTTP eventing. Set
Eventing__ProviderType=ServiceBus and
Eventing__ServiceBus__ConnectionString to exercise Azure Service Bus
eventing.
When validating local changes across unpublished Security/AppSecurity repositories, the integration fixture can build against sibling local repositories:
$env:CoreIntegrationTests__LocalSecurityAssemblyVersion = "2026.4.29.2038"
dotnet test src\Apps\cCoder.IntegrationTests\cCoder.IntegrationTests.csproj /p:UseLocalSecurity=true /p:UseLocalAppSecurity=true
The local assembly version override is only needed while downstream packages still reference the currently published Security assembly version. Once the package chain has been republished, consume the published package versions and run without the override.
The publish workflow runs on a self-hosted runner and always restores, builds, and tests src/cCoder.Core.slnx before packing.
Platform Functionality
cCoder.Core gives consumers the composed platform package rather than asking each application to assemble the individual cCoder domain packages by hand. It brings together the shared data model, security, application permissions, content, documents, mail, scheduling, workflow, logging, eventing, and package import/export capabilities used by the aggregate hosts.
Account registration, invitation, password reset, and SSO lifecycle ownership lives in cCoder.Security. cCoder.Core consumes typed Security account events only to resolve the app from the request domain and queue app-template emails.
| Domain piece | What consumers get | Details |
|---|---|---|
| Core aggregate | Composition, setup assets, OData/API exposure, CORS support, SignalR hubs, and host wiring for the combined platform. | Core aggregate |
| Data | Shared EF Core data access, context factories, entity mappings, and database model support used by the domain packages. | Data |
| Security | SSO/security data model support, tenant/user/role/privilege services, and SQL Server security persistence. | Security |
| App Security | Application-level app, role, privilege, and user-role orchestration on top of the shared security model. | App Security |
| Content Management | Content/resource/component/script management used to deliver configurable platform UI and metadata-driven content. | Content Management |
| Document Management | File, folder, file-content, folder-role, and WebDAV-style document management capabilities. | Document Management |
| Eventing | In-process, HTTP, and Azure Service Bus eventing abstractions used to connect domain workflows and hosted services. | Eventing |
| Logging | Structured platform log storage and streaming support for web and hosted-service diagnostics. | Logging |
| Mail server, queued email, sent email, and email workflow support. | ||
| Packaging | Package and package-item import/export orchestration for moving platform configuration and baseline assets. | Packaging |
| Scheduling | Calendar and calendar-event scheduling support used by workflow and application features. | Scheduling |
| Workflow | Workflow definitions, runtime orchestration, workflow activities, and hosted-service execution support. | Workflow |
License
This repository is licensed under The Standard Software License Version 1.0. See LICENSE.txt for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- cCoder.AI (>= 2026.7.30.1717)
- cCoder.AppSecurity (>= 2026.7.30.1717)
- cCoder.ContentManagement (>= 2026.7.31.1640)
- cCoder.Data (>= 2026.7.30.1720)
- cCoder.DocumentManagement (>= 2026.7.30.2314)
- cCoder.Eventing (>= 2026.7.30.1719)
- cCoder.Eventing.AzureServiceBus (>= 2026.7.30.1719)
- cCoder.Eventing.Http (>= 2026.7.30.1719)
- cCoder.Logging (>= 2026.7.30.1728)
- cCoder.Mail (>= 2026.7.30.1837)
- cCoder.Packaging (>= 2026.7.30.2204)
- cCoder.Security (>= 2026.7.30.2059)
- cCoder.Security.Data (>= 2026.7.30.2059)
- cCoder.Workflow (>= 2026.7.30.2213)
- cCoder.Workflow.Activities (>= 2026.7.30.2213)
- cCoder.Workflow.Engine (>= 2026.7.30.2213)
- itext (>= 9.7.0)
- itext.bouncy-castle-adapter (>= 9.7.0)
- itext.pdfhtml (>= 6.3.3)
- Microsoft.AspNetCore.OData (>= 9.5.0)
- Microsoft.EntityFrameworkCore (>= 10.0.10)
- Newtonsoft.Json (>= 13.0.4)
- Swashbuckle.AspNetCore.Swagger (>= 10.2.3)
- Swashbuckle.AspNetCore.SwaggerGen (>= 10.2.3)
- Swashbuckle.AspNetCore.SwaggerUI (>= 10.2.3)
- System.Linq.Dynamic.Core (>= 1.7.3)
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 |
|---|---|---|
| 2026.7.31.1719 | 0 | 7/31/2026 |
| 2026.7.31.120 | 0 | 7/31/2026 |
| 2026.7.31.41 | 0 | 7/30/2026 |
| 2026.7.30.2158 | 22 | 7/30/2026 |
| 2026.7.30.2123 | 17 | 7/30/2026 |
| 2026.7.30.2049 | 30 | 7/30/2026 |
| 2026.7.30.1913 | 39 | 7/30/2026 |
| 2026.7.29.656 | 69 | 7/29/2026 |
| 2026.7.29.641 | 76 | 7/29/2026 |
| 2026.7.29.635 | 76 | 7/29/2026 |
| 2026.7.28.1117 | 82 | 7/28/2026 |
| 2026.7.28.1106 | 73 | 7/28/2026 |
| 2026.7.28.145 | 78 | 7/28/2026 |
| 2026.7.28.139 | 70 | 7/28/2026 |
| 2026.7.26.1623 | 88 | 7/26/2026 |
| 2026.7.26.1614 | 74 | 7/26/2026 |
| 2026.7.26.1605 | 87 | 7/26/2026 |
| 2026.7.26.1555 | 80 | 7/26/2026 |
| 2026.7.26.1527 | 79 | 7/26/2026 |
| 2026.7.26.1517 | 79 | 7/26/2026 |