Wheel provides a standardized way to use basic infrastructure services (logging, configuration, dependency injection, command system, database access, etc) on .NET console and web applications.
Most components are compatible with .NET core >= 2.0. and .NET classic framework (including the obsolete .NET framework 2.0).
Wheel.Commands : Command system: definition of commands, parsing of command-line arguments, execution of commands. Commands are added to the application using a Startup class (similarly to ASP.NET Core). Each command can be defined either explicitly (using ICommandBuilder interface), or with a class containing a ConfigureCommand method, or with a class using Command and CommandOption attributes.
Wheel.Data : Abstraction layer for access to databases, execution of stored procedures, and configuration of EntityFrameworkCore DbContext classes. Packages Wheel.Data.PostgreSql, Wheel.Data.SqlServer and Wheel.Data.Oracle are implementations of Wheel.Data on particular database systems.
Wheel.Web : Utilities for ASP.NET Core web applications.
Wheel.Testing : Utilities for unit testing using xunit framework.
- Wheel.Ftp : A FTP client library compatible with .NET core >= 2.0 and .NET classic framework >= 2.0. It can resume previously interrupted uploads (tested with Microsoft FTP Service). Adapted from edtFTPnet, Free edition (licensed under the GNU LGPL).
Wheel.Backports : Adaptation of parts of Microsoft.Extensions for the obsolete .NET framework 2.0. The original namespaces and API are preserved as much as possible.
Wheel : Common features used in most scenarios.
- Create a command-line application.
- Create a web application with commands in the same assembly.
- Use IDbms to configure DbContext classes.
Binaries are available as Nuget packages.
Source code is available at the project Gitlab repository.
Wheel is open source software licensed under the LGPLv3 (see LICENSE.txt).