Avalonia is a mature, cross-platform UI framework for .NET, enabling developers to build desktop, mobile, and web applications with a single codebase. It provides a rich set of controls, a powerful styling system, data binding, animations, and platform-specific backends (Windows, Linux, macOS, Android, iOS, Browser). The architecture is modular: core libraries (Avalonia.Base, Avalonia.Controls) define the property system, layout, input, and rendering, while platform backends implement windowing, graphics (Skia, Vulkan, OpenGL), and accessibility. The framework includes a XAML compiler, source generators, and extensive testing infrastructure. It is actively maintained with a large community and is used in production applications.
xUnit.net v3 is a mature, open-source unit testing framework for .NET (C#, F#, VB). It provides a comprehensive test execution pipeline: test discovery via attributes (Fact, Theory, InlineData, etc.), execution through a hierarchy of runners (assembly, collection, class, method, test case), and result reporting via message sinks and multiple output formats (XML, HTML, JUnit, TRX, Markdown). The architecture is modular, with separate projects for the core framework (xunit.v3.core), runner infrastructure (xunit.v3.runner.common), console runner (xunit.v3.runner.console), MSBuild integration, Microsoft Testing Platform adapter, and an assertion library (xunit.v3.assert). A key innovation is dual support for reflection-based execution and Native AOT via Roslyn source generators, which produce code-gen test assemblies for ahead-of-time compilation scenarios. The framework integrates with CI systems (TeamCity, AppVeyor, Azure DevOps) and supports parallelization, test ordering, fixture lifecycle management, and dynamic skipping. External dependencies include the .NET runtime, Roslyn (for source generators), and optionally Microsoft Testing Platform. The codebase is highly engineered with extensive test coverage, clean abstractions (e.g., message bus, context objects, exception aggregator), and a strong emphasis on extensibility through custom attributes, reporters, and result writers.
MimeKit is a mature, high-performance .NET library for creating, parsing, and manipulating MIME messages (email). It provides comprehensive support for all standard MIME structures (multipart, message/rfc822, content-transfer encodings), internationalized headers (RFC 2047/2231), and email security features including S/MIME, OpenPGP, DKIM, and ARC signing/verification. The library also includes a full HTML5 tokenizer, TNEF (Outlook Transport Neutral Encapsulation Format) reader, text format converters (HTML, flowed, plain), and a stream filter pipeline for encoding/decoding and line-ending normalization. The codebase is well-architected with clean abstractions (visitor pattern, filter chain, encoder/decoder interfaces), extensive unit tests, and benchmarks demonstrating 25x–75x faster parsing than competing .NET MIME libraries. It is distributed as NuGet packages (MimeKit, MimeKitLite) and is a .NET Foundation project. The repository also includes sample applications for Windows Forms, iOS, and Android, and a DKIM verifier sample.
ILSpy is a production-grade .NET assembly browser and decompiler, serving as the open-source successor to SharpDevelop's decompiler. It is architected as a hybrid monolith with a clear plugin system (MEF), separating the core decompilation engine (`ICSharpCode.Decompiler`) from the cross-platform GUI (`ILSpy`, built on Avalonia) and the command-line interface (`ICSharpCode.ILSpyCmd`). The core engine implements a full .NET type system, an intermediate language (IL) with a comprehensive transform pipeline, and a C#/VB syntax tree generator, enabling it to faithfully reconstruct high-level source code from compiled bytecode. The primary data flow begins with loading binary assemblies (PE, ELF, bundles) through a registry of file loaders. The `ILReader` parses bytecode into IL instructions, which undergo a series of transforms (control flow analysis, pattern matching, type inference) before being built into a C# AST. This AST is then processed by output visitors to produce formatted source code, debug information, or project files. The GUI provides a dockable workspace, syntax-highlighted editor, metadata table viewers, analyzers for code navigation (find usages, overrides), and a search engine. The codebase exhibits high craftsmanship, particularly in its utility libraries and AST pattern matching. Self-contained, extractable components include a generic Union-Find data structure (`UnionFind.cs`), an immutable interval-based map for 64-bit keys (`LongSet.cs`/`LongDict.cs`), a declarative AST pattern matching DSL (`Pattern.cs`), and thread-safe lazy initialization utilities (`LazyInit.cs`). These components solve non-trivial problems (efficient range queries, backtracking tree matching) and are isolated from the rest of the codebase. The project is actively maintained, with recent commits, extensive CI/CD pipelines (CodeQL, Scorecard, Dependabot), and a large test suite covering decompilation correctness and UI behavior. Technical drift is low; the codebase targets modern .NET versions and has successfully migrated from WPF to Avalonia. While the sheer size introduces complexity, the architecture is sound, making it a strong reference for decompiler design, .NET internals, and cross-platform desktop application architecture.
Autofac is a mature, production-grade Inversion of Control (IoC) container for .NET, providing dependency injection (DI) capabilities. The core library manages object lifetimes, service resolution, and dependency graphs through a fluent registration API and a pipeline-based resolution engine. It supports a wide range of features including constructor and property injection, decorators, open generics, assembly scanning, metadata, keyed services, and advanced lifetime scopes (singleton, per-scope, per-dependency, per-owned). The architecture is built around extensible middleware phases (scope selection, decoration, sharing, activation) and registration sources that dynamically provide services. Autofac is designed for high performance and AOT/trimming compatibility, with extensive benchmarks and a dedicated AOT verification workflow. It is a library, not an application; it is consumed by other .NET projects to manage their dependency injection needs.
Refit is a .NET library that automatically generates type-safe HTTP API clients from C# interfaces decorated with attributes like [Get], [Post], [Header], [Body], and [Query]. It operates via two parallel request-building paths: a Roslyn source generator that emits inline request construction at compile time (trim/AOT-safe), and a reflection-based fallback for unsupported shapes. The library integrates deeply with Microsoft.Extensions.DependencyInjection and IHttpClientFactory, providing extension methods like AddRefitClient<T> and AddKeyedRefitClient for managed HTTP client lifecycles. It supports multiple serializers (System.Text.Json, Newtonsoft.Json, XML), content compression (gzip, Brotli, Zstandard), streaming responses (IAsyncEnumerable, JSON Lines, SSE), multipart form data, and per-request timeouts and authorization via DelegatingHandler pipelines. The architecture is modular: the core Refit package provides attributes, serialization interfaces, and the runtime GeneratedRequestRunner; Refit.HttpClientFactory adds DI integration; Refit.Newtonsoft.Json and Refit.Xml provide alternative serializers; Refit.Reflection offers the runtime request builder; and Refit.Testing supplies StubHttp and Reply for unit testing without a live server. The source generator (InterfaceStubGeneratorV2) is an incremental generator that parses interfaces and emits partial classes into the consumer assembly, using value-equatable models (ImmutableEquatableArray) for caching. The reflection path caches parsed method metadata and builds requests via delegates, ensuring parity with generated code. Key entry points include RestService.For<T>() for creating clients, AddRefitClient<T>() for DI registration, and RefitSettings for central configuration. External dependencies are minimal: System.Text.Json (built-in), Microsoft.Extensions.Http, and optionally Newtonsoft.Json or System.Xml. The library is extensively tested with unit tests, integration tests, snapshot-based generator tests, and benchmarks measuring allocation and throughput. It targets .NET 8/9/10/11 and .NET Framework 4.6.2+, with polyfills for missing BCL types.
MahApps.Metro is a mature WPF UI library that provides a comprehensive set of custom controls, styles, themes, and helpers for building modern desktop applications with a Metro/Windows 10/WinUI aesthetic. The library offers over 30 custom controls including HamburgerMenu, ContentDialog, InfoBar, RangeSlider, NumericUpDown, ColorPicker, AutoSuggestBox, SplitView, and a full dialog system with login, input, message, and progress dialogs. It ships with three visual style sets (Metro, Win10, WinUI) and integrates deeply with the ControlzEx theming framework for runtime theme switching. The architecture is a standard .NET library with a large public API surface exposed via dependency properties, attached properties, custom behaviors, converters, and automation peers. The codebase is heavily tested (350+ NUnit tests) with a custom WindowTestFixture for UI integration tests. Sample applications (MahApps.Metro.Gallery, MahApps.Metro.Demo) demonstrate real-world usage, and project templates (dotnet new) provide scaffolding for new apps. The library also includes project templates (MahAppsMetroApp, MahAppsMetroMvvmApp, MahAppsMetroNavApp) and a Visual Studio manifest. Despite its age and large API surface, the library remains actively maintained with recent commits, issue triage, and support for .NET 6-10. Technical drift is moderate: some obsolete code (ClipBorder) and Win32 P/Invoke are present, and the three style sets must be kept in sync. The test suite is comprehensive but pixel-level and resource-key-dependent, making it somewhat brittle. Overall, this is a high-quality, production-tested UI library with strong architectural patterns and reusable components.
FlatBuffers is a cross-platform serialization library developed by Google, designed for memory-efficient, zero-copy binary serialization. In production, it is used as both a schema compiler (flatc) and a set of runtime libraries for over a dozen languages including C++, Java, Rust, Swift, TypeScript, Python, Go, C#, Kotlin, and more. The flatc compiler parses .fbs schema files and generates type-safe accessor code for each target language, enabling applications to read and write serialized data without parsing overhead. The runtime libraries provide builders, readers, verifiers, and support for gRPC integration and a self-describing variant format called FlexBuffers. The architecture is split into two main components: the compiler (written in C++) and the language-specific runtime libraries. The compiler's entry point is flatc_main.cpp, which registers code generators for each language. The runtimes follow a consistent pattern across languages: a FlatBufferBuilder for constructing buffers, Table/Struct base classes for reading, and Verifier for safety checks. Data flows from schema definition to generated code, which is then used by applications to serialize/deserialize data with direct memory access. External dependencies are minimal for the core library (only standard library for most languages), but gRPC integration requires gRPC libraries. The project includes extensive testing, fuzzing, and benchmarking infrastructure to ensure correctness and performance across all supported languages.
OrchardCore is a mature, open-source modular and multi-tenant application framework and CMS built on ASP.NET Core. The codebase reveals a production-grade system with a rich extensibility model: content parts and fields with display drivers, workflow engine with activities, deployment/recipe system, multi-tenant shell contexts, and multiple search backends (Lucene, Elasticsearch, Azure AI). The frontend admin UI is implemented in Vue 3 with TypeScript (the 'Bloom' framework), providing reusable UI components and a data pipeline designer. Under the hood, it uses YesSql as a document ORM, SignalR for real-time notifications, and supports various authentication providers, localization, and media management. Despite its large surface, the architecture is cleanly separated into modules with consistent patterns (display drivers, handlers, permission providers), though some legacy deprecations and duplicate search provider code indicate manageable technical debt.
A simple yet rigorously correct .NET library for validating email addresses according to RFC 5322 and Internationalized Email standards (RFC 653x). The core is a hand-written character-by-character parser that rejects invalid syntax while supporting quoted strings, IP literals, international characters, and length constraints per the spec. It provides a static `Validate`/`TryValidate` method and a DataAnnotations `EmailAttribute` for easy integration into ASP.NET or other validation frameworks. The library is well-tested with hundreds of valid and invalid examples, including edge cases like surrogate pairs and maximum-length addresses. It targets multiple .NET frameworks (net462, net8.0, net10.0, netstandard2.0/2.1) and is distributed as a NuGet package with signed assemblies. The code is clean, well-commented, and free of external dependencies for the core validation, making it a trustworthy component for any .NET application needing email input validation.
This repository contains Stratum, a free and open-source two-factor authentication (2FA) app for Android with Wear OS support. It implements TOTP, HOTP, Steam, Yandex, and mOTP code generation algorithms with configurable parameters. The app features encrypted local backups with AES-GCM/CBC and Argon2id/PBKDF2 key derivation, import from over 15 third-party authenticator apps (Aegis, Bitwarden, KeePass, etc.), QR code scanning via CameraX, and a Material Design 3 UI. The architecture follows a clean layered pattern with a core library (Stratum.Core) containing domain entities, OTP generators, backup converters, and service interfaces, a Droid project for the phone UI, and a Wear OS project. The codebase is well-organized with dependency injection (Autofac), repository pattern for SQLite persistence, and unit tests. It demonstrates strong data engineering skills in reverse-engineering and parsing various backup formats, implementing custom cryptography for Ente Auth, and maintaining a large icon database. The project is actively maintained, targets .NET 10, and has localization in 27+ languages.
This repository is a high-quality .NET library implementing the OpenBSD BCrypt password hashing algorithm. It serves as a security-critical dependency for authentication systems, providing robust password hashing, verification, and salt generation. The codebase is multi-targeted, supporting legacy .NET Framework versions (4.6.2+) alongside modern .NET standards (2.0/2.1) and recent runtimes (.NET 8.0, 10.0). It includes specialized extensions for ASP.NET Core Identity, allowing seamless integration into existing authentication pipelines without custom implementation. The architecture prioritizes security through constant-time comparisons, secure memory handling, and thread-safe key schedule management using ThreadLocal storage. The library includes extensive test vectors from the original Java reference implementation to ensure algorithmic correctness across different BCrypt revisions (2a, 2b, 2y, 2x). While the core library is production-ready and widely adopted, the repository exhibits some hygiene issues, including the presence of a signing key file in the root directory and a 'dists/' folder containing legacy binary artifacts, which suggests a mix of automated and manual release processes. For engineers evaluating reuse, this library offers a reliable, well-tested foundation for password security. The Identity extension component is particularly valuable for .NET developers needing to replace default password hashers. However, consumers should be aware of the technical drift regarding legacy framework support and the potential security implications of the repository's artifact management practices.
This is a .NET client library for Google Maps Platform web services. It provides a strongly-typed, async-first wrapper around 15+ Google Maps APIs, including Geocoding, Directions, Distance Matrix, Places (New), Routes, Address Validation, Elevation, Time Zone, Roads, Solar, Aerial View, Air Quality, Pollen, and Static Maps. The library is published as a NuGet package (over 2M downloads) and targets multiple .NET frameworks (netstandard2.0, net8.0, net10.0). It follows a consistent request/response pattern with generic constraints for compile-time safety, and includes a built-in engine that handles HTTP serialization, API key injection, error handling, and OpenTelemetry diagnostics (tracing and metrics). An optional dependency injection extension package registers `IGoogleMapsClient` with `IHttpClientFactory`. The repository also contains a comprehensive test suite with a VCR (record/replay) system, benchmarks, mutation testing, and sample applications (Blazor, Console, Minimal API, Generic Host) demonstrating usage.
UAssetGUI is a Windows Forms desktop application for low-level examination and modification of Unreal Engine game assets. It allows users to open, edit, and save .uasset, .umap, .pak, and .utoc files, with JSON export/import, C# scripting via embedded Roslyn, property mappings for unversioned assets, and full theming and localization. The architecture is a monolithic GUI built on .NET 10 preview, relying on the UAssetAPI submodule for serialization. Key entry points are Program.Main and Form1 (the main editor window). The application targets modders and researchers who need to inspect or alter binary asset data directly. It includes custom controls, a plugin-like script system using collectible assembly load contexts, and supports container file extraction/repacking via native binaries. The codebase is well-structured for its niche but tightly coupled to Windows Forms and the UAssetAPI ecosystem.
Orchestra is a mature, composable WPF application framework for building line-of-business desktop applications on .NET (net8.0-windows through net10.0-windows). It provides a complete shell infrastructure including splash screens, about dialogs, crash recovery, keyboard shortcut customization, changelog viewers, status bars, busy indicators, and recently-used item management. The framework is built on top of Catel (MVVM, IoC, logging) and integrates with Orc.* libraries for theming, controls, and system information. It offers two shell variants: a Ribbon.Fluent shell using Fluent.Ribbon for rich ribbon UIs, and a TaskRunner shell for simpler task-oriented interfaces. The architecture is modular and service-oriented, with all major features exposed via interfaces (e.g., IShellService, IStatusService, IKeyboardMappingsService) and registered through Microsoft.Extensions.DependencyInjection. The core library (Orchestra.Core) contains the foundational services, while shell-specific packages (Orchestra.Shell.Ribbon.Fluent, Orchestra.Shell.TaskRunner) provide concrete implementations. The framework also includes a shared shell library with recovery services, progress bars, and configuration management. Key entry points include the ShellService for application lifecycle orchestration and the ApplicationInitializationServiceBase for custom startup logic. External dependencies include Catel (7.x), Fluent.Ribbon (11.x), ControlzEx, and several Orc.* packages (Orc.Theming, Orc.Controls, Orc.LogViewer, Orc.SystemInfo). The build system is powered by Cake scripts with support for multiple installer formats (InnoSetup, MSIX, Velopack), code signing, and CI/CD integration. The repository also includes example applications demonstrating both shell variants and a comprehensive test suite with public API verification. Data flows are primarily user-driven: application startup triggers splash screen, configuration loading, shell creation, and keyboard mapping initialization. User interactions (closing, keyboard shortcuts, status updates) are handled through service abstractions. The framework manages local user data (configuration backups, changelog snapshots, recently used items) but does not process external datasets or analytics.
RiotSharp is a C# wrapper for the Riot Games API, providing access to League of Legends data including summoner information, match history, champion stats, leagues, and static game data. The library implements automatic rate limiting to comply with Riot's API constraints and includes caching for static data to minimize API calls. It features a layered architecture with separate projects for the core library, ASP.NET Core integration, and tests. The main entry point is the `RiotApi` class, which aggregates all endpoint interfaces via dependency injection. Key reusable components include a sophisticated rate limiter, a pluggable caching abstraction, a base class for static data endpoints, and custom JSON converters for enum serialization.
DocX is a .NET library for creating, editing, and manipulating Word 2007/2013/2016 .docx files without requiring Microsoft Office. It provides a comprehensive API for document generation, including paragraphs, tables, charts, images, hyperlinks, headers/footers, bookmarks, footnotes/endnotes, mail merge, and password protection. The library operates by manipulating Open XML package parts using System.IO.Packaging and LINQ to XML, with a cross-platform drawing abstraction layer (SkiaSharp on .NET5, System.Drawing on .NET Framework). It is the free community edition of Xceed Words for .NET, with many advanced features (PDF conversion, SVG support, digital signatures) stubbed out in the examples and requiring a commercial license. The codebase is well-structured but shows signs of technical drift: it targets .NET Framework 4.0 and .NET 5.0 (both out of support), uses deprecated APIs, and contains large monolithic files (e.g., Document.cs ~3880 lines). Despite these issues, the library is actively maintained (last commit June 2026) and widely used, with a rich set of examples demonstrating real-world usage.
WPFDevelopers is a comprehensive WPF custom control library (NuGet package `WPFDevelopers`) that provides ~50+ themed UI controls, styles, effects, window chrome customization, system tray integration, screen capture, charts, loading indicators, and utility helpers. It also includes a demo application showcasing each control. The library targets a wide range of .NET versions (4.0 through 10.0) and integrates Win32 interop for advanced shell features. While containing some vendored code (Microsoft Expression Blend SDK) and occasional duplication, the library demonstrates solid engineering practices with reusable controls, attached behaviors, and a consistent theming infrastructure. It is actively maintained with CI builds for multiple frameworks.
Perfolizer is a .NET performance-analysis toolkit extracted from BenchmarkDotNet. It provides statistical estimators (quantiles, MAD, variance), significance tests (Mann-Whitney, Welch), and specialized data structures such as Rqq for efficient range quantile queries. The repository is organized as a main class library, a demo executable, and two test projects, with CI that builds, tests, and publishes NuGet packages. Despite being labeled experimental, the codebase is actively developed, versioned, and shipped as a NuGet package.
This repository is a comprehensive .NET SDK for integrating with the WeChat (Weixin) ecosystem, covering Official Accounts (MP), Enterprise WeChat (Work), Mini Programs (WxOpen), Open Platform, and WeChat Pay (TenPay V2/V3). It provides strongly-typed API wrappers for hundreds of WeChat endpoints, message/event handling with a rich class hierarchy, caching abstractions, and utilities for signature verification, encryption, and OAuth. The architecture is a modular monolith with separate packages per platform, sample MVC applications for .NET 4.5/8/10, and dependency injection support via registration modules. Key entry points include static API classes (e.g., `CommonJsonSend.Send<T>()`), message handler base classes, and container-based token management. The SDK also includes experimental components such as an MCP server for AI tool integration and a browser plugin for development assistance. The codebase demonstrates consistent patterns: base result classes with error code handling, container caching with capability flags, extension methods for payment notification decryption, and automatic access token refresh via `ApiHandlerWapper.TryCommonApi`. While the SDK is actively maintained and supports modern .NET versions, it carries some technical debt from legacy .NET 4.x support, duplicated DTOs across platforms, and incomplete test coverage that relies on live credentials. Overall, it is a functional and widely-used SDK (8900+ stars) with solid engineering practices but room for improvement in code consolidation and test automation.