AppBrix.Container 0.46.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package AppBrix.Container --version 0.46.0                
NuGet\Install-Package AppBrix.Container -Version 0.46.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="AppBrix.Container" Version="0.46.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AppBrix.Container --version 0.46.0                
#r "nuget: AppBrix.Container, 0.46.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.
// Install AppBrix.Container as a Cake Addin
#addin nuget:?package=AppBrix.Container&version=0.46.0

// Install AppBrix.Container as a Cake Tool
#tool nuget:?package=AppBrix.Container&version=0.46.0                

AppBrix

Build GitHub Issues Code Size Repo Size NuGet Package NuGet Downloads

AppBrix is a way of thinking about and building scalable modular applications.

This framework is using the latest version of .NET.

AppBrix has been created with the following priorities:

  • Everything should be testable.
  • Interfaces should be easy to understand and use.
  • Every part of the framework should be easily replaceable without changing the original source code.

Setup

# Clone project locally.
git clone git@github.com:MarinAtanasov/AppBrix.git
# Go to project root directory.
cd AppBrix
# Restore nuget dependencies and build the solution.
dotnet build AppBrix.sln

Running Tests

The tests are using xUnit.

  • In Visual Studio, Test Explorer must be opened before building test projects in order to discover the tests.
  • In JetBrains Rider, they can be run with right click on Tests solution folder and selecting Run Unit Tests.
  • In PowerShell, while in the project's root folder:
# You can add -Build to restore dependencies and build the solution.
# You can add -Release to use the Release configuration instead of Debug.
# Run functional tests (default). Add -Parallel for parallel execution.
./Test.ps1 -tests Functional  # ./Test.ps1
# Run performance tests
./Test.ps1 -tests Performance  # ./Test.ps1 p
# Run all tests
./Test.ps1 -tests All  # ./Test.ps1 a

Publishing packages

Packaging and publishing of a new version of all projects can be done using PowerShell. It requires Nuget CLI to be set up locally with account API key.

./Publish.ps1

Sample Applications

AppBrix.ConsoleApp is a simple console application which uses the framework.

AppBrix.WebApp is a simple web application which uses the framework.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (8)

Showing the top 5 NuGet packages that depend on AppBrix.Container:

Package Downloads
AppBrix.Events

Module which allows subscribing and raising application level events.

AppBrix.Time

Module which is used for getting the current time. This should be used instead of DateTime.(Utc)Now in order for the time to always be of the same kind and the code to be more easily testable.

AppBrix.Factory

Module which allows creation of simple mutable classes.

AppBrix.Cloning

Module used for making shallow or deep copies of items.

AppBrix.Caching

Module used for caching objects.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.50.0 242 10/10/2024
0.49.0 249 10/4/2024
0.48.0 324 8/16/2024
0.47.0 304 7/10/2024
0.46.0 305 5/31/2024
0.45.0 265 5/12/2024
0.44.0 415 2/14/2024
0.43.0 608 11/23/2023
0.42.0 759 10/2/2023
0.41.0 968 7/11/2023
0.40.0 959 6/15/2023
0.39.0 1,134 4/15/2023
0.38.0 1,173 3/2/2023
0.37.0 1,229 2/9/2023
0.36.0 1,354 12/17/2022
0.35.0 3,981 10/11/2022
0.34.0 4,034 8/14/2022
0.33.0 4,093 7/14/2022
0.32.0 4,114 6/18/2022
0.31.2 4,195 5/15/2022
0.31.1 4,151 5/15/2022
0.31.0 4,163 5/15/2022
0.30.0 4,255 4/25/2022
0.29.0 4,248 3/25/2022
0.28.0 4,308 2/14/2022
0.27.0 2,494 12/18/2021
0.26.0 2,666 11/13/2021
0.25.0 5,765 8/20/2021
0.24.0 5,779 7/11/2021
0.23.0 5,968 4/17/2021
0.22.0 5,989 3/21/2021
0.21.0 6,022 12/21/2020
0.20.0 6,130 11/14/2020
0.19.0 6,682 8/2/2020
0.18.0 6,356 2/10/2020
0.17.0 6,542 1/24/2020
0.16.0 6,163 11/8/2019
0.15.0 6,720 8/12/2019
0.14.0 6,345 7/6/2019
0.13.0 6,397 1/4/2019
0.12.0 7,577 7/3/2018
0.11.1 6,646 2/20/2018
0.11.0 6,715 2/20/2018
0.10.0 6,780 11/6/2017
0.9.0 6,485 10/1/2017
0.8.0 6,505 9/1/2017
0.7.0 5,519 12/8/2016
0.6.0 3,937 10/17/2016
0.5.0 3,809 6/30/2016
0.4.1 3,552 5/26/2016

Upgrade .NET to 8.0.6.