Plugin and Extensibility Architecture

Plugin-based architectures are one of the harder design challenges in .NET. Extensibility that works in prototypes often breaks in production when multiple plugins compete for the same infrastructure resources. This collection covers patterns for building genuinely modular systems where plugins can install, update, and uninstall without destabilizing the host.

EF Core Plugins: When Migrations Go Wrong

EF Core Plugins: When Migrations Go Wrong

EF Core’s entity discovery is thorough by design. In a plugin architecture, that thoroughness becomes a liability: navigation properties pull plugin entities into the host migration, creating shared schema ownership that breaks plugin isolation, causes schema drift, and makes clean plugin uninstalls impossible.