My Curated List of NuGet Packages
General
Some general purpose shits are here
Testing
NaughtyStrings
Provides a strong typed .NET API for the Big List of Naughty Strings.Provides a strong typed .NET API for the Big List of Naughty Strings.
My Comments
Provides a big list of strings that can be used for testing. The strings are good for simulating user input that can cause problems.
Links
TestableIO.System.IO.Abstractions
A modern and test-friendly abstraction over the .NET file system, letting you mock System.IO easily in unit tests without touching the real disk.
My Comments
Wonderful package that allows mocking filesystems. Really useful when you have to work with files and want to add some tests there. There are a bunch of related packages that may be included as well – Wrappers, TestingHelpers, etc.
Links
WPF
Some must-haves for WPF applications
CommunityToolkit.Mvvm
The CommunityToolkit.Mvvm package (aka MVVM Toolkit, formerly named Microsoft.Toolkit.Mvvm) is a modern, fast, and modular MVVM library. The MVVM Toolkit is maintained and published by Microsoft, and part of the .NET Foundation. It is also used by several first party applications that are built into Windows, such as the Microsoft Store.
This package targets .NET Standard so it can be used on any app platform: WinUI 3, UWP, WinForms, WPF, Xamarin, Uno, and more; and on any runtime: .NET Native, .NET Core, .NET Framework, or Mono. It runs on all of them. The API surface is identical in all cases, making it perfect for building shared libraries.
Links
MahApps.Metro
MahApps.Metro is a framework that allows developers to cobble together a Metro or Modern UI for their own WPF applications with minimal effort.
My Comments
MahApps.Metro is a great framework for WPF applications, especially if you want to add modern theming with minimal effort. Its built-in support for dark themes makes it perfect for creating sleek, visually appealing UIs without spending hours tweaking styles.
Links
NKristek.Wpf.Converters
This library contains a collection of often used converters to write a WPF based application.
My Comments
It provides few converters that make working with data bindings easier. Some of the converters handle tasks like formatting, value conversions, and conditional checks. Example: BoolToInverseBoolConverter, DateTimeToStringConverter
Links
Detours
Can change applications during runtime
Ryder
Ryder is a .NET Core library providing the ability to redirect method calls from one method to another. By extension, it can also redirect property accesses, and event subscriptions / raises.
My Comments
This one works (or should work) on any version of .NET Core. It also has a lightweight version in the GitHub repo.
Links
MonoMod.RuntimeDetour
MonoMod.RuntimeDetour is a .NET library designed for runtime method hooking and detouring. It allows developers to intercept and modify the execution of methods in real-time without needing to access or modify the original source code. This makes it ideal for patching or extending existing applications, especially in modding or debugging scenarios.
Links
Network tools
Network protocols and other network tools
ARSoft.Tools.Net
This project contains a complete managed .Net SPF validation, SenderID validation and a dns client and dns server implementation written in C#.This project contains a complete managed .Net SPF validation, SenderID validation and a dns client and dns server implementation written in C#.
Links
tik4net
Manage mikrotik routers with .NET C# code via ADO.NET like API or enjoy O/R mapper like highlevel API.
My Comments
⚠ Abandonware: This package is no longer maintained and is broken as of RouterOS v7.18. For an updated and working alternative, use the "NuGet - New" package below.
Links
Linux
Unlike others, this category is about a single person that I deeply admire: Tom Deseyn!