Automated.Arca.Libraries 2.2.0

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

Automated Registration and Configuration (of Classes) through Attributes (ARCA)

PURPOSE

The purpose of ARCA is to perform automated registration and configuration of classes.

The main use cases are the (parametrized) registration and configuration of classes for:

  • Dependency injection
  • CQRS: registration of events, commands, handlers
  • Custom registries that are not meant for dependency injection

ARCA doesn't depend on a dependency injection container. It doesn't even know what dependency injection is; that's known only to a few dedicated packages.

MIXING MANUAL AND AUTOMATED REGISTRATION

ARCA can be introduced progressively into an existing project because it's possible to mix manual and automated dependency injection registration. You should not register the same class both manually and automatically.

HOW IT WORKS

Attributes are used to mark classes that have to be registered or configured, and to specify (complex) parameters for processing.

Attributes are processed by the ARCA manager, through extensions.

The combination between attributes and extensions allows you to easily perform any kind of automated registration and configuration.

Both attributes and extensions can be in the consumer code.

PACKAGE DESCRIPTIONS

  • Automated.Arca.Abstractions.Core - Core abstractions. Contains IProcessable. Use it to create your own attributes and extensions. It's usually necessary.
  • Automated.Arca.Abstractions.DependencyInjection - Dependency injection abstractions.
  • Automated.Arca.Abstractions.Specialized - Specialized abstractions. Use for middleware and CQRS. Implement these interfaces in your CQRS implementation.
  • Automated.Arca.Attributes.DependencyInjection - Dependency injection attributes to apply on classes to register / configure.
  • Automated.Arca.Attributes.Specialized - Specialized attributes to apply on classes to register / configure. Use for middleware and CQRS.
  • Automated.Arca.Extensions.DependencyInjection - Dependency injection extensions for the dependency injection attributes.
  • Automated.Arca.Extensions.Specialized - Specialized extensions for the specialized attributes. Use for middleware and CQRS.
  • Automated.Arca.Implementations.ForMicrosoft - Implementations for Microsoft's dependency injection.
  • Automated.Arca.Libraries - Libraries for other packages.
  • Automated.Arca.Manager - The ARCA manager. Use during the startup of an application.

The ForMicrosoft packages contain dependencies which are meant to be used in applications that use the Microsoft dependency injection container.

Developed by https://github.com/georgehara/Arca . The full documentation is included there.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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.
  • net10.0

    • No dependencies.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Automated.Arca.Libraries:

Package Downloads
Automated.Arca.Abstractions.Core

Automated registration and configuration of classes for dependency injection, CQRS. Core abstractions. Contains `IProcessable`. Use it to create your own attributes and extensions. It's usually necessary.

Automated.Arca.Abstractions.DependencyInjection

Automated registration and configuration of classes for dependency injection, CQRS. Dependency injection abstractions.

Automated.Arca.Implementations.ForMicrosoft

Automated registration and configuration of classes for dependency injection, CQRS. Implementations for Microsoft's dependency injection.

Automated.Arca.Manager

Automated registration and configuration of classes for dependency injection, CQRS. The ARCA manager. Use during the startup of an application.

Automated.Arca.Extensions.Specialized

Automated registration and configuration of classes for dependency injection, CQRS. Specialized extensions for the specialized attributes. Use for middleware and CQRS.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.2.0 48 11/18/2025
2.0.2 4,707 11/26/2020
2.0.1 1,987 9/7/2020
2.0.0 1,975 9/1/2020
1.0.5 1,865 8/24/2020
1.0.4 1,414 8/17/2020
1.0.3 1,403 8/15/2020
1.0.2 1,437 8/14/2020
1.0.1 1,437 8/13/2020
1.0.0 1,571 8/10/2020