Darkraise 1.0.1
dotnet add package Darkraise --version 1.0.1
NuGet\Install-Package Darkraise -Version 1.0.1
<PackageReference Include="Darkraise" Version="1.0.1" />
<PackageVersion Include="Darkraise" Version="1.0.1" />
<PackageReference Include="Darkraise" />
paket add Darkraise --version 1.0.1
#r "nuget: Darkraise, 1.0.1"
#:package Darkraise@1.0.1
#addin nuget:?package=Darkraise&version=1.0.1
#tool nuget:?package=Darkraise&version=1.0.1
Darkraise
The core of the Darkraise Framework — a modular .NET 10 application framework written against the BCL alone. No third-party packages, so nothing arrives transitively with it.
dotnet add package Darkraise
What's inside
| Area | Types |
|---|---|
| Dependency injection | ServiceContainer (IServiceRegistry + IServiceResolver), scopes, keyed and factory registrations, LazyService<T> |
| Data access | IBoundedContext, IRepository<T> (extends IQueryable<T>), change interceptors, ChangeSet |
| CQRS and business actions | IDispatcher, IQueryHandler<,>, ICommandHandler<>, Business<TContext>.Action<,>, audit interceptors |
| Logging | ISimpleLogger with console, file and debug sinks, text and JSON formatters, enrichers |
| Background jobs | IJobClient / IJobServer, cron scheduling, recurring and continuation jobs, file-backed storage |
| HTTP and networking | IRestClient with a fluent request builder, auth handlers, retry policies, proxy rotation, route tracing, DNS |
Raw SMTP client over TcpClient + SslStream — plaintext, STARTTLS and implicit TLS |
|
| Telegram | Bot API client, update polling, command dispatch, inline keyboard builder |
| Text | HTML parsing with XPath, INI, EPUB read/write, structured text, encryption |
| Windows automation | Windows, elements, input, screen capture, OCR, triggers, dialogs, registry, processes |
| MVVM | DarkraiseScreen, IConductor / OneActiveConductor, RelayCommand, IUIDispatcher — UI-framework agnostic |
| Settings and config | IApplicationSettings<T>, IAppConfig<T> with JSON and INI providers |
Also: ActionResult<T> / OperationResult<T> result types, pagination, debouncing, pause and interruption tokens, and
Git repository helpers.
Quick start
using Darkraise.DependencyInjection;
using Darkraise.Logging;
var container = new ServiceContainer();
container.AddSingleton<IMyService, MyService>();
container.AddLogging(b => b.MinimumLevel(LogLevel.Debug).AddConsoleSink().AddFileSink("logs/app.log"));
var service = container.GetRequiredService<IMyService>();
using var scope = container.CreateScope();
CQRS
container.AddCqrs(typeof(GetUserHandler).Assembly);
var dispatcher = container.GetRequiredService<IDispatcher>();
var user = await dispatcher.Query(new GetUserQuery(userId));
await dispatcher.Execute(new CreateUserCommand(data));
Background jobs
container.AddJobs(o => o.WorkerCount = 4)
.ConfigureFileStorage(f => f.Directory = "data/jobs")
.AddJob<SendDigestJob>();
await container.GetRequiredService<IJobServer>().StartAsync();
var jobs = container.GetRequiredService<IJobClient>();
await jobs.EnqueueAsync<SendDigestJob>();
await jobs.AddRecurringAsync<SendDigestJob>("daily", CronExpression.Predefined.Daily);
REST client
using var client = new RestClient(o => o.BaseUrl = new Uri("https://api.example.com"));
var users = await client.Get("users").AddQueryParameter("page", "1").AcceptJson().ExecuteAsync<UserList>();
var created = await client.Post("users").WithJsonBody(new { Name = "Alice" }).WithBearerToken(token).ExecuteAsync<User>();
Requirements
Targets net10.0 and runs anywhere .NET 10 does. The Darkraise.Automation namespace wraps Win32 APIs and only
functions on Windows — the rest of the library is platform-neutral.
Related packages
Darkraise.Win32UI— Win32/Direct2D desktop UI frameworkDarkraise.WpfEx— WPF framework layer
License
MIT. See LICENSE.
| 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
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Darkraise:
| Package | Downloads |
|---|---|
|
Darkraise.Win32UI
Pure Win32/Direct2D desktop UI framework: 90+ themed controls, fluent builder API, MVVM, data binding, NativeAOT compatible, zero third-party dependencies. |
|
|
Darkraise.WpfEx
WPF application framework: custom MVVM (screens, conductors, view locator), light/dark theming with 15 accents, themed control styles, dialogs, ~1900 Lucide icons, and animation helpers. |
GitHub repositories
This package is not used by any popular GitHub repositories.