BadEcho.Extensions 1.1.2-beta.34

This is a prerelease version of BadEcho.Extensions.
There is a newer version of this package available.
See the version list below for details.
dotnet add package BadEcho.Extensions --version 1.1.2-beta.34
                    
NuGet\Install-Package BadEcho.Extensions -Version 1.1.2-beta.34
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BadEcho.Extensions" Version="1.1.2-beta.34" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BadEcho.Extensions" Version="1.1.2-beta.34" />
                    
Directory.Packages.props
<PackageReference Include="BadEcho.Extensions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BadEcho.Extensions --version 1.1.2-beta.34
                    
#r "nuget: BadEcho.Extensions, 1.1.2-beta.34"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BadEcho.Extensions@1.1.2-beta.34
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BadEcho.Extensions&version=1.1.2-beta.34&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=BadEcho.Extensions&version=1.1.2-beta.34&prerelease
                    
Install as a Cake Tool

Bad Echo Framework Extensions

Discord

The BadEcho.Extensions library integrates the Bad Echo core frameworks with the Microsoft.Extensions.* family of libraries and the dependency injection container they use.

Using this library allows for various services and features registered with an application host to be interoperable with various Bad Echo features. It also provides some enhancements to existing services exposed by the various Microsoft.Extensions.* libraries.

This package exists to be used by specific Bad Echo applications, but is licensed under the GNU Affero General Public License so that others may enjoy it as well; see the accompanying license for details.

Logging

Support is provided for capturing Bad Echo library events with loggers configured using the Microsoft.Extensions.Logging framework. Bad Echo class libraries log diagnostic events the same way the .NET runtime does: by writing to an EventSource.

Dependency injection (a requirement for Microsoft.Extension.Logging) is an application concern, not a library concern. Trying to inject an ILogger instance into all the places a class library wishes to emit messages (a common bit of misadvice found on various Developer Q&A platforms) is to descend into madness.

This library provides extension methods which will forward log messages from Bad Echo event sources to ILogger instances created from a provided ILoggerFactory, an approach used by Microsoft for several of their products. This keeps the library sane while giving the application control over where these messages go.

Options

This library adds enhancements to options provided by Microsoft.Extensions.Options, including a mechanism that allows for changes to options to be persisted. They are configured much like normal IOption types, except a file name is also provided to Configure, so that it knows where to persist its changes (normally, options are ignorant of their file source, as they're just projections of a provided IConfiguration instance).

About Bad Echo

Bad Echo is a collection of software technologies and various writings by Matt Weber: a software designer, partnered Twitch streamer, and game developer.

While Bad Echo code concerns itself a great deal with the "best approaches" to general software problems, it also focuses on game development and providing entertainment through the clever manipulation of games (the results of which are streamed by myself).

Getting in Contact

I'm a partnered Twitch streamer, and talking to me during one of my Omnified streams, on the off chance that I actually am streaming, is most definitely the quickest way to get my attention!

You may also reach me via email.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.0-alpha.6 43 2/28/2026
1.2.0-alpha.4 38 2/25/2026
1.2.0-alpha.3 45 2/18/2026
1.2.0-alpha.2 42 2/17/2026
1.1.2 101 2/7/2026
1.1.2-beta.81 52 2/7/2026
1.1.2-beta.37 258 11/12/2025
1.1.2-beta.34 138 11/7/2025
1.1.2-beta.33 136 10/21/2025
1.1.2-beta.32 138 10/21/2025
1.1.2-beta.30 140 10/21/2025
1.1.2-beta.28 148 10/21/2025
1.1.2-beta.27 142 10/21/2025
1.1.2-beta.26 144 10/21/2025
1.1.2-beta.25 141 10/21/2025
1.1.2-beta.20 97 9/27/2025