5 Awesome C# Projects: TODO, Password Manager, Steam, Nintendo Switch And Unity
In this article, Tom Smykowski 💎 highlights 5 awesome projects built with C#: TODO app, password manager, Steam API wrapper, Nintendo Switch gamepad mapper, and a Unity game. C# is a versatile and ea...
Silk.NET - High-speed & advanced .NET graphics & compute
Spruce up your games and applications with cross-platform 3D graphics, audio, compute and haptics. Fast. Free. Cross platform. Silk.NET provides high-speed, direct, and transparent bindings, as well a...
Creating Multi-Tier Subscriptions using C#
Its always best to give options to users when it comes to subscriptions. Today, we introduce a unique way to attach application features to a subscription. This post was written for the Sixth Annual C...
Error-accumulating composable assertions in C#
This article is about composing non-short-circuiting assertions in C# in such a way that failure messages accumulate. It explores a simpler API than the previous articles proof of concept, using a Not...
PriorityQueues on .NET 7 and C# 11
Starting from .NET 6 and C# 10, we finally have built-in support for PriorityQueues 🥳 A PriorityQueue is a collection of items that have a value and a priority; as you can imagine, they act as a queu...
Dangers & Gotchas of Scoped Services in OptionsBuilder
In this blog post, Andrew Lock discusses the dangers and gotchas of using scoped services with the IOptions pattern. He provides a brief overview of strongly-typed configuration in ASP.NET Core and th...
Reaqtor: A stateful, distributed, and scalable event processing framework based on Rx
Reaqtor is a reliable, stateful, distributed, scalable, and high performance event processing framework based on Rx. It adds state and durability primitives to Reactive Extensions to enable long-runni...
Introducing Wolverine for Effective Server Side .NET Development – The Shade Tree Developer
Wolverine is a mediator and message bus tool for server-side .NET development. Its runtime model is different from other similar tools in a way that leads to simpler application code and more efficien...
# TypeProvider.Json - Prototype Remake of FSharp.JsonTypeProvider in CSharp
This is a prototype remake of FSharp.JsonTypeProvider in CSharp, which is used to create JSON data types that can be used to deserialize JSON data at runtime. Usage of this prototype remake is shown i...
Verify - Simplify Assertion of Complex Data Models and Documents
Verify is a snapshot tool for assertion of complex data models and documents. It simplifies the assertion process and stores serialized results in a file to match the test name, and compares it agains...
5 New MVC Features in .NET 7
Many new features were introduced in ASP.NET Core in .NET 7, including route groups, filters, and minimal APIs. However, MVC controllers were not forgotten, and this post discusses the new MVC feature...
Generic Math Extended Example - C# 11 Feature
C# 11.0 Generic Math is a powerful extension to the already capable generic types system present in C#. This blog post explains the changes needed to add this neat feature, including new interfaces an...
Mapping Event Type by Convention
Events are a vital part of Event-Driven Architecture, representing business facts that happened in our system. To integrate business workflow steps, we need to define the mapping between the code type...
Testing asynchronous processes with .NET Channels for efficient and reliable concurrency
Learn how to use .NET Channels to handle multi-threaded concurrency in a performant and reliable manner. This article discusses how to catch all handled events and forward them to EventListener using ...
Introducing Central Package Management - The NuGet Blog
Managing dependencies for multi-project solutions can prove to be difficult as they start to scale in size and complexity. In situations where you manage common dependencies for many different project...
Announcing ComputeSharp 2.0 – run C# on the GPU with ease through DirectX 12 and D2D1!
ComputeSharp 2.0 is a .NET library that enables running C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute shaders. This library is designed to make GPU computin...
Frozen collections in .NET 8
In this article, Steven Giesel discusses the new area where the dotnet team is working on Frozen collections in .NET 8. He goes on to explain what frozen collections are and how they work. Steven furt...
How to Make the Fastest .NET Serializer with .NET 7 / C# 11, Case of MemoryPack
In this article, Yoshifumi Kawai explains how to create a fast and practical serializer with the release of MemoryPack. MemoryPack is a new C#-specific serializer that performs much faster than other ...
Announcing ML.NET 2.0
ML.NET 2.0 is an open-source, cross-platform machine learning framework for .NET developers that enables integration of custom machine learning models into .NET apps. With this new release, ML.NET Tex...
Processing data in parallel using Channels
Thanks to the Task Asynchronous Programming model writing asynchronous code in .NET is usually straightforward. Channels give us a way to communicate between concurrent (async) operations in .NET. Let...