TIKSN Framework is a .NET 10 application framework and utility library for building modular services, command-line tools, data-driven applications, and .NET MAUI apps. The package combines the core framework assembly, platform-specific MAUI helpers, and language/region localization resources.
Install the NuGet package:
dotnet add package TIKSN-FrameworkThe package includes:
TIKSN.Framework.Corefor shared framework services and abstractions.TIKSN.Framework.Mauifor Android, iOS, Mac Catalyst, and Windows MAUI targets.TIKSN.LanguageLocalizationandTIKSN.RegionLocalizationsatellite resources.
Supported package target frameworks:
net10.0net10.0-android21.0net10.0-ios14.2net10.0-maccatalyst14.0net10.0-windows10.0.19041.0
The repository uses the .NET SDK pinned in global.json (10.0.100, rolling forward to the latest major SDK when available).
- Dependency injection:
AddFrameworkCore, AutofacCoreModule, and MAUIAddFrameworkPlatformplatform registrations. - Data access: repository, query repository, file repository, stream repository, unit-of-work abstractions, pagination helpers, and adapters for Entity Framework Core, Azure Table Storage, Azure Blob Storage, MongoDB, LiteDB, and RavenDB.
- Data caching: memory, distributed, and hybrid cache decorators for repository and query repository implementations.
- Finance:
Money, currency metadata, currency pairs, fixed/composite/cached converters, pricing models, pricing strategies, and foreign exchange providers. - Foreign exchange sources: Bank of Canada, Bank of England, Bank of Japan, Central Bank of Armenia, European Central Bank, Federal Reserve System, National Bank of Poland, National Bank of Ukraine, Reserve Bank of Australia, and Swiss National Bank.
- Globalization and localization: culture, country, currency, region, time zone, language localization, region localization, and composite string localizers.
- Serialization: JSON, XML, MessagePack, custom serializer/deserializer abstractions, unsigned
BigIntegerbinary serialization, and Protocol Buffers schema support used by licensing. - Licensing: license descriptors, license generation, entitlement conversion hooks, and RSA, DSA, and Ed25519 certificate signature services.
- Shell and PowerShell: shell command engine, command attributes, console services, progress reporting, user confirmation, and PowerShell logging/progress helpers.
- Integration: command/event/query marker interfaces and correlation ID services backed by GUID, ULID, CUID, and Base62 implementations.
- Application services: telemetry abstractions, configuration validation, settings, known folders, network connectivity, antimalware scanning abstractions, identity generation, mapping, numbering, versioning, time period types, web REST helpers, and sitemap models.
- MAUI platform support: platform modules and service collection extensions, plus Windows registry configuration/settings and Windows antimalware scanner integration.
TIKSN.Framework.Core: core framework library.TIKSN.Framework.Maui: MAUI platform library.TIKSN.LanguageLocalization: language localization resources.TIKSN.RegionLocalization: region localization resources.TIKSN.Framework.Core.Tests: unit tests.TIKSN.Framework.IntegrationTests: integration tests.examples/ShellCommands: shell command sample.examples/AntimalwareScanning: antimalware scanning sample.
using Autofac;
using Autofac.Extensions.DependencyInjection;
using TIKSN.DependencyInjection;
using TIKSN.Mapping;
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.Services.AddFrameworkCore();
builder.Services.Scan(scan => scan
.FromApplicationDependencies()
.AddClasses(classes => classes.AssignableTo(typeof(IMapper<,>)))
.AsImplementedInterfaces());
builder.Host.ConfigureContainer<ContainerBuilder>(containerBuilder =>
{
containerBuilder.RegisterModule<CoreModule>();
});
var app = builder.Build();
await app.RunAsync().ConfigureAwait(false);using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using TIKSN.DependencyInjection;
var host = Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureServices((_, services) =>
{
services.AddFrameworkCore();
})
.ConfigureContainer<ContainerBuilder>(containerBuilder =>
{
containerBuilder.RegisterModule<CoreModule>();
})
.Build();
await host.RunAsync().ConfigureAwait(false);Use the platform-specific extension from TIKSN.Framework.Maui in your MAUI startup:
using TIKSN.DependencyInjection;
builder.Services.AddFrameworkPlatform();AddFrameworkPlatform calls AddFrameworkCore and then adds platform-specific services where available.
The repository uses PowerShell 7.4+ wrapper scripts around Invoke-Build tasks.
./restore.ps1
./build.ps1
./test.ps1
./pack.ps1 -Version 4.5.0-alpha.0Useful direct commands:
dotnet restore "TIKSN Framework.slnx"
dotnet test --project ./TIKSN.Framework.Core.Tests/TIKSN.Framework.Core.Tests.csproj
dotnet test --project ./TIKSN.Framework.IntegrationTests/TIKSN.Framework.IntegrationTests.csprojIntegration tests use Testcontainers to start required services such as MongoDB and RavenDB automatically. Ensure Docker is running before executing the integration test project.