Baubit.Autofac
2025.23.2
dotnet add package Baubit.Autofac --version 2025.23.2
NuGet\Install-Package Baubit.Autofac -Version 2025.23.2
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="Baubit.Autofac" Version="2025.23.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Baubit.Autofac" Version="2025.23.2" />
<PackageReference Include="Baubit.Autofac" />
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 Baubit.Autofac --version 2025.23.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Baubit.Autofac, 2025.23.2"
#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 Baubit.Autofac@2025.23.2
#: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=Baubit.Autofac&version=2025.23.2
#tool nuget:?package=Baubit.Autofac&version=2025.23.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Baubit.Autofac
Features
- AutofacServiceProviderFactory: Use ContainerBuilder to add services to the service provider.
- Seamless Integration: Reuse existing Baubit modules (extending Baubit.DI.AModule<>) as nested modules for a Baubit.Autofac.DI.AModule<>.
🚀 Getting Started
dotnet add package Baubit.Autofac
📦 Defining a Module
Similar to Baubit, create a Module and associated configuration
public class MyConfiguration : AConfiguration
{
public string MyStringProperty { get; set; }
}
public class MyModule : AModule<MyConfiguration>
{
public MyModule(ConfigurationSource configurationSource) : base(configurationSource) { }
public MyModule(IConfiguration configuration) : base(configuration) { }
public MyModule(MyConfiguration configuration, List<AModule> nestedModules, List<Baubit.DI.IConstraint> constraints) : base(configuration, nestedModules, constraints) { }
public override void Load(ContainerBuilder containerBuilder)
{
containerBuilder.Register(context => new Component(Configuration.SomeString, Configuration.SomeSecretString))
.SingleInstance();
//register other services as needed
}
}
🔍 Example Usage
Bootstrapping the Application
Using HostApplicationBuilder
await Host.CreateApplicationBuilder()
.UseConfiguredServiceProviderFactory()
.Build()
.RunAsync();
Using WebApplicationBuilder
var webApp = WebApplication.CreateBuilder()
.UseConfiguredServiceProviderFactory()
.Build();
// use HTTPS, HSTS, CORS, Auth and other middleware
// map endpoints
await webApp.RunAsync();
appsettings.json
{
"rootModule": {
"type": "Baubit.Autofac.DI.RootModule, Baubit.Autofac",
"configurationSource": {
"embeddedJsonResources": [ "MyApp;myConfig.json" ]
}
}
}
myConfig.json
{
"modules": [
{
"type": "MyProject.MyModule, MyProject",
"configuration": {
"myStringProperty" : "some string value"
}
}
]
}
📄 License
Baubit is licensed under the MIT License. See the LICENSE file for details.
| Product | Versions 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.
-
net9.0
- Autofac (>= 8.3.0)
- Autofac.Extensions.DependencyInjection (>= 10.0.0)
- Baubit (>= 2025.23.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.