Crusaders.Framework
3.6.0
dotnet add package Crusaders.Framework --version 3.6.0
NuGet\Install-Package Crusaders.Framework -Version 3.6.0
<PackageReference Include="Crusaders.Framework" Version="3.6.0" />
<PackageVersion Include="Crusaders.Framework" Version="3.6.0" />
<PackageReference Include="Crusaders.Framework" />
paket add Crusaders.Framework --version 3.6.0
#r "nuget: Crusaders.Framework, 3.6.0"
#:package Crusaders.Framework@3.6.0
#addin nuget:?package=Crusaders.Framework&version=3.6.0
#tool nuget:?package=Crusaders.Framework&version=3.6.0
Crusaders Framework
.NET Standard 2.0 — shared base library, consumed by API and WPF as a NuGet package.
Core Principle
No secrets, no DB access, no client-specific logic.
Only shareable base classes, interfaces, and utilities belong here.
Client-specific logic goes in Crusaders.API.<Client> or Crusaders.WPF.<Client>.
What's in Here
ICommandHandler<TIn, TOut>— atomic command pattern interfaceICrdApiClient— Framework API client (.For<T>().Invoke()/.Call())IOutgoingCommandHandler— for calling external (non-Crusaders) web servicesCrusadersWebSocket— base WebSocket bridge classCrusadersException— standard exception typeDataAccessBase<TContext>— base class for EF6 data access[Uri],[HttpGet],[HttpPost]— route annotations for service interfacesCrdUnitTest<IHandler>— base for unit tests (extend in client layer)
KyC — Identity & Verification (v3.6+)
Shared contracts for the alert and verify core service:
VerifyPasswordUpdateRequest/VerifyContactUpdateRequest— action token payloads consumed by MCP → Classic API verify endpointsErrorCodes.KyCTokenInvalid(222) — verification link invalid or already consumedErrorCodes.KyCUserNoVerifiedEmail(221) — no primary verified email on accountErrorCodes.KyCUserNotResolved(220) — username/email lookup failedErrorCodes.KyCContactNotFound(201) /KyCContactOwnershipMismatch(202) — contact record errors
Action tokens are one-time use. Once consumed (verify success),
DestroyedAtis set and subsequent calls returnKyCTokenInvalid. Session tokens destroyed returnUserMultipleDevice(110).
Build & Publish
- Bump
CrusadersFramework_VersioninTools/Build/CrdDependency.props - Run
Tools/compile-publish.batto generate NuGet package - Run
Tools/replace-local-nuget.batfor local testing - Upload to NuGet org account for release
- Update NuGet reference in
Crusaders.APIandCrusaders.WPF, rebuild
CI pipeline not yet set up — run publish script locally on merged branch.
AI Agent Reference
Agent rules and skills live at the workspace root: D:\CrusadersProjects\.agents\
- Cross-cutting rules:
.agents/AGENTS.md - Framework skill:
.agents/skills/classic-framework.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- AutoMapper (>= 10.1.1)
- Castle.Core (>= 5.1.1)
- Castle.Windsor (>= 6.0.0)
- CloudinaryDotNet (>= 1.21.0)
- FluentValidation (>= 11.6.0)
- Microsoft.AspNet.WebApi.Core (>= 5.2.9)
- Moq (>= 4.20.70)
- MSTest.TestAdapter (>= 2.2.7)
- MSTest.TestFramework (>= 2.2.7)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Crusaders.Framework:
| Package | Downloads |
|---|---|
|
Crusaders.API.Vstar.Bg.Services
Vstar API that implements Crusaders framework. Public services only. |
|
|
Crusaders.API.AiCtrl.Dashboard.Services
AiCtrl API that implements Crusaders framework. Public services only. |
GitHub repositories
This package is not used by any popular GitHub repositories.