Package Selection
SimpleMessageBus is distributed as multiple NuGet packages based on the provider you want to use. Choose the packages that match your infrastructure and requirements.Core Packages
SimpleMessageBus.Core
Core interfaces and base classes. Required by all other packages.
SimpleMessageBus.Hosting
Hosting extensions for background services and message processing.
Publishing Packages
SimpleMessageBus.Publish
SimpleMessageBus.Publish
File System PublisherBasic file system-based message publishing. Good for development and simple scenarios.
SimpleMessageBus.Publish.Azure
SimpleMessageBus.Publish.Azure
Azure Storage Queue PublisherPublishes messages to Azure Storage Queues.Dependencies:
- Azure.Storage.Queues
- Microsoft.Extensions.DependencyInjection
SimpleMessageBus.Publish.Amazon
SimpleMessageBus.Publish.Amazon
Amazon SQS PublisherPublishes messages to Amazon SQS queues.Dependencies:
- AWSSDK.SQS
- Microsoft.Extensions.DependencyInjection
SimpleMessageBus.Publish.IndexedDb
SimpleMessageBus.Publish.IndexedDb
IndexedDB Publisher (Blazor WebAssembly)Client-side message publishing using browser IndexedDB.Requirements:
- Blazor WebAssembly project
- .NET 8+ target framework
Dispatching Packages
SimpleMessageBus.Dispatch
SimpleMessageBus.Dispatch
Core DispatcherBase dispatcher functionality and interfaces.
SimpleMessageBus.Dispatch.Azure
SimpleMessageBus.Dispatch.Azure
Azure Storage Queue DispatcherProcesses messages from Azure Storage Queues.
SimpleMessageBus.Dispatch.Amazon
SimpleMessageBus.Dispatch.Amazon
Amazon SQS DispatcherProcesses messages from Amazon SQS queues.
SimpleMessageBus.Dispatch.FileSystem
SimpleMessageBus.Dispatch.FileSystem
File System DispatcherProcesses messages from file system storage. Includes Azure Functions trigger support.
SimpleMessageBus.Dispatch.IndexedDb
SimpleMessageBus.Dispatch.IndexedDb
IndexedDB Dispatcher (Blazor WebAssembly)Client-side message processing using browser IndexedDB.
Testing Package
SimpleMessageBus.Breakdance
Testing utilities and mocks for unit testing message handlers.
Installation by Scenario
Web Application with Azure Storage
For ASP.NET Core applications using Azure Storage Queues:Console Application with Amazon SQS
For console applications using Amazon SQS:Azure Functions
For Azure Functions with file system triggers:Blazor WebAssembly
For client-side Blazor applications:Development and Testing
For development and testing scenarios:Framework Requirements
SimpleMessageBus requires .NET 8.0 or later. It supports .NET 8, 9, and 10.
Supported Platforms
- Windows: Full support for all providers
- Linux: Full support for all providers
- macOS: Full support for all providers
- Browser (Blazor WebAssembly): IndexedDB provider only
Target Frameworks
All packages multi-target the following frameworks:net8.0net9.0net10.0
Package Manager Commands
Package Manager Console
PackageReference
Add to your.csproj file:
Verification
After installation, verify the packages are correctly installed:Next Steps
After installation, proceed to:Troubleshooting
Common Issues
Package Version Conflicts
Package Version Conflicts
Ensure all SimpleMessageBus packages are using the same version. Use
dotnet list package --outdated to check for version mismatches.Framework Compatibility
Framework Compatibility
SimpleMessageBus requires .NET 8.0 or later. Update your project’s target framework if necessary:
Missing Dependencies
Missing Dependencies
Some providers have additional dependencies that should be automatically installed. If you encounter missing assembly errors, try restoring packages: