![]() |
VOOZH | about |
dotnet add package Rebus --version 8.9.2
NuGet\Install-Package Rebus -Version 8.9.2
<PackageReference Include="Rebus" Version="8.9.2" />
<PackageVersion Include="Rebus" Version="8.9.2" />Directory.Packages.props
<PackageReference Include="Rebus" />Project file
paket add Rebus --version 8.9.2
#r "nuget: Rebus, 8.9.2"
#:package Rebus@8.9.2
#addin nuget:?package=Rebus&version=8.9.2Install as a Cake Addin
#tool nuget:?package=Rebus&version=8.9.2Install as a Cake Tool
👁 alternate text is missing from this package README image
Latest stable: 👁 NuGet stable
Current prerelease: 👁 NuGet pre
Tests: 👁 Build status
This repository contains Rebus "core". You may also be interested in one of the many integration libraries.
For information about the commercial add-on (support, tooling, etc.) to Rebus, please visit Rebus FM's page about Rebus Pro.
Rebus is a lean service bus implementation for .NET. It is what ThoughtWorks in 2010 called a "message bus without smarts" - a library that works well as the "dumb pipes" when you need asynchronous communication in your microservices that follow the "smart endpoints, dumb pipes" principle.
Rebus aims to have
and in doing this, Rebus should try to align itself with common, proven asynchronous messaging patterns.
Oh, and Rebus is FREE as in beer 🍺 and speech 💬, and it will stay that way forever.
If you want to read more, check out the official Rebus documentation wiki or check out my blog.
You can also follow me on Twitter: @mookid8000
Rebus is a simple .NET library, and everything revolves around the RebusBus class. One way to get Rebus
up and running, is to manually go
var bus = new RebusBus(...);
bus.Start(1); //< 1 worker thread
// use the bus for the duration of the application lifetime
// remember to dispose the bus when your application exits
bus.Dispose();
where ... is a bunch of dependencies that vary depending on how you want to send/receive messages etc.
Another way is to use the configuration API, in which case you would go
var someContainerAdapter = new BuiltinHandlerActivator();
for the built-in container adapter, or
var someContainerAdapter = new AdapterForMyFavoriteIocContainer(myFavoriteIocContainer);
to integrate with your favorite IoC container, and then
Configure.With(someContainerAdapter)
.Logging(l => l.Serilog())
.Transport(t => t.UseMsmq("myInputQueue"))
.Routing(r => r.TypeBased().MapAssemblyOf<SomeMessageType>("anotherInputQueue"))
.Start();
// have IBus injected in application services for the duration of the application lifetime
// let the container dispose the bus when your application exits
myFavoriteIocContainer.Dispose();
which will stuff the resulting IBus in the container as a singleton and use the container to look up
message handlers. Check out the Configuration section on the official Rebus documentation wiki for
more information on how to do this.
If you want to be more specific about what types you map in an assembly, such as if the assembly is shared with other code you can map all the types under a specific namespace like this:
Configure.With(someContainerAdapter)
.(...)
.Routing(r => r.TypeBased().MapAssemblyNamespaceOf<SomeMessageType>("namespaceInputQueue"))
.(...);
// have IBus injected in application services for the duration of the application lifetime
// let the container dispose the bus when your application exits
myFavoriteIocContainer.Dispose();
Rebus is licensed under The MIT License (MIT). Basically, this license grants you the right to use Rebus in any way you see fit. See for more info.
The purpose of the license is to make it easy for everyone to use Rebus and its accompanying integration libraries. If that is not the case, please get in touch with and then we will work something out.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 is compatible. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 is compatible. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 was computed. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 5 NuGet packages that depend on Rebus:
| Package | Downloads |
|---|---|
|
Rebus.RabbitMq
Provides a RabbitMQ transport for Rebus |
|
|
Rebus.ServiceProvider
Provides a service provider-based container adapter for Rebus (i.e. integration with Microsoft.Extensions.DependencyInjection) as well as integration with the generic host |
|
|
Rebus.Serilog
Serilog-based logger integration for Rebus |
|
|
Rebus.Autofac
Provides an Autofac container adapter for Rebus |
|
|
Rebus.SqlServer
Microsoft SQL Server-based persistence for Rebus |
Showing the top 12 popular GitHub repositories that depend on Rebus:
| Repository | Stars |
|---|---|
|
abpframework/abp
Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
|
|
|
geffzhang/NanoFabric
基于Consul + .NET Core + Polly + Ocelot + Exceptionless + IdentityServer等开源项目的微服务开发框架
|
|
|
CodeMazeBlog/CodeMazeGuides
The main repository for all the Code Maze guides
|
|
|
revoframework/Revo
Event Sourcing, CQRS and DDD framework for C#/.NET Core.
|
|
|
NexusForever/NexusForever
An emulator for the defunct MMORPG WildStar which supports build 16042 (Final Patch)
|
|
|
DataDog/dd-trace-dotnet
.NET Client Library for Datadog APM
|
|
|
mastreeno/Merp
An event based Micro ERP
|
|
|
loyldg/mytelegram
Self-hosted Telegram server-side API implemented in C#
|
|
| opengram-server/opengram | |
|
personball/abplus
Abp Plus, Extension For https://github.com/aspnetboilerplate/aspnetboilerplate
|
|
|
stidsborg/Cleipnir.NET
Surviving crashes in plain C#-code
|
|
|
rebus-org/RebusSamples
Small sample projects
|
| Version | Downloads | Last Updated |
|---|---|---|
| 8.9.2 | 163,727 | 4/17/2026 |
| 8.9.0 | 2,341,806 | 10/19/2025 |
| 8.9.0-b03 | 342 | 10/6/2025 |
| 8.9.0-b02 | 4,888 | 10/6/2025 |
| 8.9.0-b01 | 247 | 10/6/2025 |
| 8.8.0 | 2,921,634 | 2/28/2025 |
| 8.7.1 | 3,600,524 | 11/27/2024 |
| 8.7.0 | 137,841 | 11/15/2024 |
| 8.6.1 | 446,936 | 10/13/2024 |
| 8.6.0 | 186,534 | 9/19/2024 |
| 8.5.0 | 38,583 | 9/16/2024 |
| 8.4.4 | 348,708 | 8/30/2024 |
| 8.4.3 | 416,232 | 6/12/2024 |
| 8.4.2 | 5,169,070 | 4/10/2024 |
| 8.4.1 | 77,718 | 4/4/2024 |
| 8.4.0 | 42,011 | 4/4/2024 |
| 8.3.0 | 4,666 | 4/4/2024 |
| 8.2.4 | 189,445 | 3/21/2024 |
| 8.2.2 | 5,133,244 | 1/22/2024 |