.NET Community Toolkit Introduction

.NET Community Toolkit is a collection of helpers and APIs that work for all .NET developers and are agnostic of any specific UI platform. The toolkit is maintained and published by Microsoft, and part of the .NET Foundation.

The .NET Community Toolkit is available as a set of NuGet Packages for new or existing .NET projects.

The toolkit contains .NET Standard libraries (originally developed as part of the Windows Community Toolkit) that can be used both by application developers (regardless on the specific UI framework in use) and library authors. These libraries are also being used internally at Microsoft to power many of our first party apps (such as the new Microsoft Store) and constantly improved by listening to feedbacks from other teams, external partners, and other developers from the community. Here's a quick breakdown of the various components you'll find:

  • CommunityToolkit.Mvvm (aka MVVM Toolkit): a fast, modular, platform-agnostic MVVM library, which is the official successor of MvvmLight. It's used extensively in the Microsoft Store and other first party apps.
  • CommunityToolkit.Mvvm.SourceGenerators: the source generators to augment the MVVM Toolkit.
  • CommunityToolkit.Diagnostics: a set of helper APIs (specifically, Guard and ThrowHelper) that can be used for cleaner, more efficient and less error-prone argument validation and error checking.
  • CommunityToolkit.HighPerformance a collection of helpers for working in high-performance scenarios. It includes APIs such as pooled buffer helpers, a fast string pool type, a 2D variant of Memory<T> and Span<T> (Memory2D<T> and Span2D<T>) also supporting discontiguous regions, helpers for bit shift operations (such as BitHelper, also used in Paint.NET), and more.
  • CommunityToolkit.Common: a set of helper APIs shared with other CommunityToolkit libraries.

You can also preview the capabilities of the MVVM Toolkit by running the sample app available here.

Feel free to browse the documentation using the table of contents on the left side of this page.

Get started

Follow the Getting started guide for more detailed information about using the toolkit.

Open source

The .NET Community Toolkit is an open source project hosted on GitHub by the community as part of the .NET Foundation: