NanoByte.Common provides various utility classes and data structures with an emphasis on:
- integration with native Windows and Linux features,
- network and disk IO,
- advanced collections and
- undo/redo logic.
NanoByte.Common.AnsiCli adds ANSI console output. Powered by Spectre.Console.
NanoByte.Common.WinForms adds various Windows Forms controls with an emphasis on:
- progress reporting and
- data binding.
The source code is in src/
, config for building the API documentation is in doc/
and generated build artifacts are placed in artifacts/
. The source code does not contain version numbers. Instead the version is determined during CI using GitVersion.
To build on Windows install Visual Studio 2022 v17.12 or newer and run .\build.ps1
.
To build on Linux or macOS run ./build.sh
. Note: Some parts of the code can only be built on Windows.
We welcome contributions to this project such as bug reports, recommendations, pull requests and translations.
This repository contains an EditorConfig file. Please make sure to use an editor that supports it to ensure consistent code style, file encoding, etc.. For full tooling support for all style and naming conventions consider using JetBrains' ReSharper or Rider products.