NuGet NuGet Downloads GitHub License .NET

From https://www.freedesktop.org/wiki/Software/dbus/:

D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a "single instance" application or daemon, and to launch applications and daemons on demand when their services are needed.

Tmds.DBus provides .NET libraries for working with D-Bus from .NET.

Tmds.DBus.Protocol

Tmds.DBus.Protocol is a modern, high-performance library that uses types introduced in .NET Core 2.1 (like Span<T>) for low-allocation, high-performance protocol implementation.

  • Targets .NET Standard 2.0, 2.1, .NET 6.0, 8.0, and 9.0
  • Compatible with NativeAOT/Trimming (use .NET 8 or higher)
  • High-performance with minimal allocations
  • Modern .NET primitives

The following code generators are available for Tmds.DBus.Protocol:

Tmds.DBus

Tmds.DBus is based on dbus-sharp (a fork of ndesk-dbus). It builds on the protocol implementation of dbus-sharp and provides an API based on the asynchronous programming model introduced in .NET 4.5.

  • Targets .NET Standard 2.0 and .NET 6.0
  • Runs on .NET Framework 4.6.1+, .NET Core, and .NET 6+
  • Async/await support

The following code generators are available for Tmds.DBus:

  • Tmds.DBus.Tool: CLI tool that supports generating proxy and handler types.

Contributing

Found a bug or want to request a feature? Please open an issue on GitHub.

We welcome pull requests on GitHub! Unless you're making a trivial change, open an issue to discuss the change before making a pull request.