Ground.Extensions.DependencyInjection.Abstractions 9.0.3

dotnet add package Ground.Extensions.DependencyInjection.Abstractions --version 9.0.3
                    
NuGet\Install-Package Ground.Extensions.DependencyInjection.Abstractions -Version 9.0.3
                    
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="Ground.Extensions.DependencyInjection.Abstractions" Version="9.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ground.Extensions.DependencyInjection.Abstractions" Version="9.0.3" />
                    
Directory.Packages.props
<PackageReference Include="Ground.Extensions.DependencyInjection.Abstractions" />
                    
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 Ground.Extensions.DependencyInjection.Abstractions --version 9.0.3
                    
#r "nuget: Ground.Extensions.DependencyInjection.Abstractions, 9.0.3"
                    
#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 Ground.Extensions.DependencyInjection.Abstractions@9.0.3
                    
#: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=Ground.Extensions.DependencyInjection.Abstractions&version=9.0.3
                    
Install as a Cake Addin
#tool nuget:?package=Ground.Extensions.DependencyInjection.Abstractions&version=9.0.3
                    
Install as a Cake Tool

<h1 align="center"> <br> <a href="https://github.com/vosooghi/Ground"><img src="https://raw.githubusercontent.com/vosooghi/Ground/main/src/2.Core/Ground.Core.Domain/Icon.png" alt="Markdownify" width="200"></a> <br> Ground Framework <br> </h1>

<h4 align="center">a framework based on onion architecture to implement software projects regarding microservice architecture and DDD</h4>

<p align="center"> <a href="https://www.nuget.org/packages/Ground.Solution.Templates"> <img src="https://img.shields.io/static/v1?label=nuget&message=v2.0.0&color=green&link=https://www.nuget.org/packages/Ground.Solution.Templates" alt="Ground"> </a> </p>

<p align="center"> <a href="#Onion Structure">Framework Structure</a> • <a href="#how-to-use">How To Use</a> • <a href="#license">License</a> </p>

Onion Structure

This framework is implemented by considering the following approaches:

  • Domain-Driven Design
  • Separation of Concern
  • Layer Architecture
  • Dependency Injection
  • You can use each layer separately in your projects.
  • <b>src</b>
    1. Utilities
      • <a href="https://www.nuget.org/packages/Ground.Utilities">Ground.Utilities</a>
        • DateTime converters, Helper classes, Extensions (String, Guid, Linq, ...).
    2. <b>Core</b>
    • <a href="https://www.nuget.org/packages/Ground.Core.Domain">Ground.Core.Domain</a> </br>This layer is an abstract of the real world: core business logic, aggregate roots, entities, value objects, and application business rules without any dependency on technology. </br>This is layer is implemented according to the Domain-Driven Design <a href="https://github.com/ddd-crew/ddd-starter-modelling-process">DDD Crew</a> </br><b>Entities</b>
      • AggregateRoot: <a href="https://martinfowler.com/bliki/DDD_Aggregate.html">More Info</a>
        • Entity: Base Entity Class
        • IAuditableEntity: a markup interface to make an entity auditable (used in the Infra layer)
      • Events
      • Value Objects
      • Exceptions
    • <a href="https://www.nuget.org/packages/Ground.Core.DomainToolkit">Ground.Core.DomainToolkit</a> <p>Shared Value Objects</p>
    • <a href="https://www.nuget.org/packages/Ground.Core.RequestResponse">Ground.Core.RequestResponse</a> <p>Templates of messages between layers</p>
    • <a href="https://www.nuget.org/packages/Ground.Core.Contracts">Ground.Core.Contracts</a> <p>The contracts of infrastructures, command and query handlers, and repositories. You can implement each contract using your specified technology and inject it as an extension.</p>
    • <a href="https://www.nuget.org/packages/Ground.Core.ApplicationServices">Ground.Core.ApplicationServices</a> <p>Implements use cases and orchestrates the interaction between the domain and infrastructure layers.</p>
    1. <b>Infra</b> <p>Handles external dependencies and technical details: Database, Serialization, API Caller, Security, ...</p>
    • Data <p>The data infrastructure is implemented according to the CQRS</p>
    • <a href="https://www.nuget.org/packages/Ground.Infra.Data.Sql">Ground.Infra.Data.Sql</a>
    • <a href="https://www.nuget.org/packages/Ground.Infra.Data.Sql.Commands">Ground.Infra.Data.Sql.Commands</a> <p>Interceptors, Extensions (Audit, ShadowProperties), Value converters, Base CommandDBContext</p>
    • <a href="https://www.nuget.org/packages/Ground.Infra.Data.Sql.Queries">Ground.Infra.Data.Sql.Queries</a>
    1. <b>Endpoint</b> <p>RESTful APIs</p>
  • <b>tests</b>
  • <b>sample</b>

Extensions

  • <a href="https://www.nuget.org/packages/Ground.Extensions.Abstractions">Ground.Extensions.Abstractions</a>
    • The abstract model of extensions. You can implement each extension and use it in the framework or utilize the following implemented extensions:
      • Ground.Extensions.DependencyInjection; automatically injects extensions to the DI container if your service is inherited from IScopelifetime, ISingletonLifetime, or ITransientLifetime.
      • <a href="https://www.nuget.org/packages/Ground.Extensions.Caching.InMemory">Ground.Extensions.Caching.InMemory</a>
      • Events (Transactional Messaging)
        • <a href="https://www.nuget.org/packages/Ground.Extensions.Events.Outbox">Ground.Extensions.Events.Outbox</a>, <a href="https://microservices.io/patterns/data/transactional-outbox.html">More Info</a>
        • <a href="https://www.nuget.org/packages/Ground.Extensions.Events.PollingPublisher">Ground.Extensions.Events.PollingPublisher</a>, <a href="https://microservices.io/patterns/data/polling-publisher.html">More Info</a>
      • Messaging, <a href="https://softwaremill.com/microservices-101/">More Info</a>
        • <a href="https://www.nuget.org/packages/Ground.Extensions.MessageBus.MessageInbox">Ground.Extensions.MessageBus.MessageInbox</a>
        • <a href="https://www.nuget.org/packages/Ground.Extensions.MessageBus.RabbitMQ">Ground.Extensions.MessageBus.RabbitMQ</a>
      • Serializers
        • <a href="https://www.nuget.org/packages/Ground.Extensions.Serializers.NewtonSoft">Ground.Extensions.Serializers.NewtonSoft</a>
      • Translations
        • <a href="https://www.nuget.org/packages/Ground.Extensions.Translations.Trani">Ground.Extensions.Translations.Trani</a>
      • UserManagement
        • <a href="https://www.nuget.org/packages/Ground.Extensions.UsersManagement">Ground.Extensions.UsersManagement</a>
      • ObjectMappers
        • <a href="https://www.nuget.org/packages/Ground.Utilities.ObjectMappers.AutoMapper">Ground.Extensions.ObjectMappers.AutoMapper</a>

Utilities

  • Observability
    • <a href="https://www.nuget.org/packages/Ground.Utilities.OpenTelemetryRegistration">Ground.Utilities.OpenTelemetryRegistration</a>
      • Jaeger
    • <a href="https://www.nuget.org/packages/Ground.Utilities.SerilogRegistration">Ground.Utilities.SerilogRegistration</a>
      • ELK
      • SQL Server
      • File

How To Use

To install Ground Template Project:

$ dotnet new install Ground.Solution.Templates

License

MIT


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.
  • net9.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Ground.Extensions.DependencyInjection.Abstractions:

Package Downloads
Ground.Extensions.DependencyInjection

Package Description

Ground.Utilities

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.0.3 58 1/14/2026
9.0.2 90 1/7/2026
3.0.0 673 4/15/2025
2.0.0 398 3/17/2024
1.0.0 805 1/10/2024