LiteBus
CatalogAnalyzers

Analyzers Axis Capability Catalog

LiteBus.Analyzers adds compile-time rules for handler coverage, handler uniqueness, durable contract registration, inbox acceptance shape, and transactional configuration wiring. The package has no runtime dependency and can be referenced from application projects and test projects.

<PackageReference Include="LiteBus.Analyzers" PrivateAssets="all" />

Capability Index

IDNameMaturity
analyzers.missing-command-handlerMissing command handlerGA
analyzers.missing-query-handlerMissing query or stream query handlerGA
analyzers.duplicate-command-handlerDuplicate command handlerGA
analyzers.duplicate-query-handlerDuplicate query or stream query handlerGA
analyzers.cross-assembly-handler-nameCross-assembly handler name collisionGA
analyzers.missing-contract-on-handled-typeHandled durable type missing contract registrationGA
analyzers.explicit-contract-registrationAttributed durable type missing explicit registrationGA
analyzers.inbox-result-command-guardResult command passed to inbox accept APIsGA
analyzers.orphan-handler-tagHandler tag not referenced by mediation routingGA
analyzers.query-handler-purityQuery handler depends on side-effecting APIGA
analyzers.open-generic-handler-shapeUnsupported open generic handler shapeGA
analyzers.processor-dispatcher-couplingProcessor enabled without dispatcher registrationGA
analyzers.transactional-ef-interceptorTransactional EF storage missing save interceptorGA
analyzers.transactional-inbox-dbcontextTransactional inbox store injected without DbContextGA
analyzers.transactional-outbox-dbcontextTransactional outbox store injected without DbContextGA

Diagnostic Inventory (LB1001-LB1017)

IDSeverityCategoryRuleCapability page
LB1001ErrorLiteBus.HandlersDuplicate ICommandHandler<TCommand> registrations for one command typehandler-duplicates.md
LB1002ReservedN/AReserved for future duplicate event-handler symmetryN/A
LB1003WarningLiteBus.HandlersQuery or stream query handler depends on side-effecting APIsquery-handler-purity.md
LB1004ErrorLiteBus.InboxICommand<TResult> accepted into inbox APIsinbox-accept-rules.md
LB1005ErrorLiteBus.HandlersOpen generic handler exposes unsupported type-parameter countopen-generic-handlers.md
LB1006ReservedN/AReserved, currently not implementedN/A
LB1007WarningLiteBus.ContractsHandled durable command or event has no contract attribute or registrationcontract-registration.md
LB1008ErrorLiteBus.HandlersCommand type has no main command handlerhandler-coverage.md
LB1009ErrorLiteBus.HandlersQuery or stream query type has no main handlerhandler-coverage.md
LB1010ErrorLiteBus.HandlersDuplicate query or stream query handlers for one query typehandler-duplicates.md
LB1011WarningLiteBus.HandlersHandler tag is not referenced by any mediation tag filterhandler-tags.md
LB1012WarningLiteBus.HandlersHandler simple name appears in more than one assemblycross-assembly-handlers.md
LB1013WarningLiteBus.OutboxConstructor injects ITransactionalOutboxStore without DbContexttransactional-outbox-wiring.md
LB1014ErrorLiteBus.ConfigurationInbox or outbox processor enabled without dispatcher in same scopeprocessor-dispatcher-coupling.md
LB1015WarningLiteBus.ConfigurationTransactional EF storage enforces setup without save interceptortransactional-ef-interceptor.md
LB1016WarningLiteBus.InboxConstructor injects ITransactionalInboxStore without DbContexttransactional-inbox-wiring.md
LB1017WarningLiteBus.Contracts[MessageContract] type has no explicit Register or RegisterFromAssemblycontract-registration.md

Suppression Policy

  • Prefer fixing the code path that triggers the diagnostic.
  • Suppress only for intentional deviations that have explicit code review approval.
  • Keep suppression scope narrow (#pragma warning disable <ID> around one block, then restore).

Deep Docs

On this page