Bread.Ioc
2.0.0
dotnet add package Bread.Ioc --version 2.0.0
NuGet\Install-Package Bread.Ioc -Version 2.0.0
<PackageReference Include="Bread.Ioc" Version="2.0.0" />
<PackageVersion Include="Bread.Ioc" Version="2.0.0" />
<PackageReference Include="Bread.Ioc" />
paket add Bread.Ioc --version 2.0.0
#r "nuget: Bread.Ioc, 2.0.0"
#:package Bread.Ioc@2.0.0
#addin nuget:?package=Bread.Ioc&version=2.0.0
#tool nuget:?package=Bread.Ioc&version=2.0.0
Bread.IoC
Bread.IoC is a lightweight and flexible Inversion of Control (IoC) container designed for .NET applications. It provides a simple and efficient way to manage dependencies and supports advanced features like source generation for automatic dependency registration.
Features
- Lightweight and Fast: Optimized for performance and minimal overhead.
- Source Generator Support: Automatically generates dependency registration code at compile time.
- Native AOT Compatibility: Fully supports .NET Native AOT scenarios.
- Flexible API: Provides an intuitive API for registering and resolving dependencies.
- Command Pattern Support: Ensures initialization logic is executed via the
OnInitializemethod in controllers.
Design Reference
Bread.IoC is inspired by the design and implementation of ZeroIoC. Special thanks to the contributors of ZeroIoC for their innovative ideas.
Limitations
- Singleton Only:
Bread.IoConly supports the Singleton lifecycle for dependencies. It does not support Scoped or Transient lifecycles.
Installation
You can install Bread.IoC via NuGet:
dotnet add package Bread.IoC
Getting Started
1. Define Your Dependencies
Create your classes and mark them for IoC registration:
using Bread.IoC;
public class MyService : IAutoInstance
{
public void DoWork()
{
Console.WriteLine("Work done!");
}
}
2. Create an IoC Container
Inherit from IoCContainer and define your dependencies in the Bootstrap method:
using Bread.IoC;
public class MyIoCContainer : IoCContainer
{
protected override void Bootstrap(IBootstrapper ioc)
{
ioc.Regist<MyService>();
}
}
3. Initialize the IoC Container
Initialize the container in your application entry point:
using Bread.IoC;
class Program
{
static void Main(string[] args)
{
IoC.Init(new MyIoCContainer());
var service = IoC.Get<MyService>();
service.DoWork();
}
}
License
This project is licensed under the MIT License.
Repository
For more information, visit the GitHub repository.
Start building fast and efficient .NET applications with Bread.IoC today!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Bread.Ioc:
| Package | Downloads |
|---|---|
|
Bread.Mvc
A mvc framework for dotnet application development which fully support native aot. |
|
|
Bread.Ioc.Generator
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.