Skip to content
Utility classes, interfaces, controls, etc. with an emphasis on cross-platform development, OS integration and task progress UIs
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
3rd party code.txt


NuGet API documentation Build status
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.

The library is available for .NET Framework 2.0+ and .NET Standard 2.0+.


NanoByte.Common.WinForms builds upon NanoByte.Common and adds various Windows Forms controls with an emphasis on:

  • progress reporting and
  • data binding.

The library is available for .NET Framework 2.0+.


The source code is in src/, a project for API documentation is in doc/ and generated build artifacts are placed in artifacts/.

You need Visual Studio 2017 to perform a full build of this project.
You can build the cross-platform components on Linux using just the .NET Core SDK 2.1+. Additionally installing Mono 5.10+ allows more components to be built. The build scripts will automatically adjust accordingly.

Run .\build.ps1 on Windows or ./ on Linux. These scripts take a version number as an input argument. The source code itself contains only contains dummy version numbers. The actual version is picked by continuous integration using GitVersion.


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 JetBrain's ReSharper or Rider products.

You can’t perform that action at this time.