A library for building strongly-typed validation rules, with amazing popularity, and over 50 million downloads. Jeremy Skinner will help us get started with some basic examples, writing custom validators, localizing error messages, and ASP.NET Core integration. Also, find out about the FluentValidation plugin that we've created!
An extensive set of extension methods that allows you to more naturally specify the expected outcome of TDD or BDD-styled unit tests. Dennis Doomen will be showing how Fluent Assertions is not just an assertion library, but a crucial ingredient for writing intention-revealing unit tests. Also, find out about the FluentAssertions plugin that we've created!
The Swiss army knife when it comes to analyzing and dissecting WPF UI. Bastian Schmidt will give us an introduction and show all the tricks including how to diagnose view binding errors and other common mistakes in WPF, troubleshoot events and find out where they are handled, preview and zoom parts of the UI (even in 3D), and much more.
A high-performance, low-level wrapper over many native libraries and is your one-stop-shop for .NET graphics and compute workloads. Being used in a number of games and game engines, it aims to be the one library you need for .NET multimedia, graphics, and high-grade compute applications. Dylan Perks and Kai Jellinghaus will show how Silk.NET works in practice and what sets it apart from other libraries.
A tool to bring Behavior-Driven Development to .NET by providing a mechanism that turns specifications into executable code. Andreas Willich will help us get started with BDD and SpecFlow. We will have a look at how to write your first scenarios for applications and automate them with various different other .NET libraries, like RestSharp, Selenium, or FluentAssertions.
A snapshot tool that enables the assertion of complex data models and documents. Simon Cropp introduces us to Verify, which can be called on test results during the assertion phase in any major test framework. Verify serializes the results and stores them in so-called snapshot files. On the next test execution, the new results are compared to the previously accepted snapshots. Also, find out about the Verify plugin that we've created!
A static site generator for .NET inspired by the popular JAMstack. Dave Glick dives with us into static generation and how we can leverage it in our own web projects. We will start from scratch and use Statiq for both simple and more complex static generation scenarios. It is also very handy for some uses cases that have nothing to do with the web. Also, find out about the Statiq plugin that we've created!
A library for working with command-line executables in a functional manner. Oleksii Holub will introduce us to this convenient model for launching external processes, redirecting inputs and outputs, awaiting completion, and handling cancellation. At its core, it’s based on a very robust piping model that lets you create intricate execution setups with minimal effort. Back to the roots of command-line invocations!
In the .NET ecosystem, generating PDF documents was challenging for many years. Marcin Ziąbek will present a typical development workflow in QuestPDF, which comes with predictable building blocks for page-aware content and a discoverable fluent API. We will also shortly discuss internal architecture, design decisions, and algorithms. Start generating PDFs with modern utilities!
Many projects already use our open-source license program. With this initiative, we want to go way further and give hand-picked projects a major boost!
We will sponsor our maintainers with $100 per month for a full year on GitHub Sponsors.
We want to give maintainers a platform to talk about their projects and ways of contribution. This can be a webinar, blog post, or interview.
Our advocacy team would like to share its personal strengths in memory profiling, graphics creation, build pipelines, and plugin development.
Whenever a project allows developing additional IDE features around it and time permitting, we will build dedicated support plugins that are available from our plugin marketplace:
If you are interested in writing a plugin for your own library, feel free to read more in our blog post: