Daily DevOps & .NET - Where Code Meets Culture

Opinionated .NET, Azure and DevOps engineering. Hard-won lessons from production, no tutorials.

EU AI Act for .NET Teams: What August 2026 Actually Demands

EU AI Act for .NET Teams: What August 2026 Actually Demands

The EU AI Act deadline everyone feared got pushed to December 2027, but nobody told you the transparency rules still land in weeks. Here is what actually changed, what still hits your chatbot in August, and the C# you need to prove it when someone asks.
EF Core Plugins: Owning Migrations with ExcludeFromMigrations

EF Core Plugins: Owning Migrations with ExcludeFromMigrations

ExcludeFromMigrations() keeps plugin entities fully queryable in the host DbContext while stripping migration ownership of their tables. Combined with per-context migration history tables, IDesignTimeDbContextFactory, and an explicit application-layer data access pattern, it enables truly independent plugin schema evolution.
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.
Building an MCP Server in .NET Without Buying the Hype

Building an MCP Server in .NET Without Buying the Hype

MCP is JSON-RPC with conventions, not magic. This guide builds a Model Context Protocol server in .NET with the official SDK: stdio and Streamable HTTP transports, tightly-scoped typed tools, JWT authentication, prompt-injection defenses, OpenTelemetry tracing, and the production failure modes the demos never mention.
Structured Logging Patterns That Actually Survive Production

Structured Logging Patterns That Actually Survive Production

Every pattern here addresses a failure mode I have either shipped or inherited. Source generators on hot paths, scope opt-in per provider, end-to-end correlation ID propagation, log levels as an ops contract, sink selection as an architecture decision, and OpenTelemetry Logs for greenfield services: six concrete changes that make structured logging trustworthy in production.