Aspectus 5.1.1
See the version list below for details.
dotnet add package Aspectus --version 5.1.1
NuGet\Install-Package Aspectus -Version 5.1.1
<PackageReference Include="Aspectus" Version="5.1.1" />
paket add Aspectus --version 5.1.1
#r "nuget: Aspectus, 5.1.1"
// Install Aspectus as a Cake Addin #addin nuget:?package=Aspectus&version=5.1.1 // Install Aspectus as a Cake Tool #tool nuget:?package=Aspectus&version=5.1.1
Aspectus
Aspectus is an advanced Aspect-Oriented Programming (AOP) library that simplifies the injection of cross-cutting concerns into your codebase. It empowers you to write clean and maintainable code by separating cross-cutting concerns from the core logic of your application.
Key Features
- Easy Integration: Aspectus seamlessly integrates with your project by registering with the IoC (Inversion of Control) container during startup.
- Code Generation: Leveraging Roslyn, Aspectus generates code dynamically, allowing you to write expressive C# code for implementing aspects.
- Flexible Aspect Customization: Implement the
IAspect
interface to define custom logic for constructors, methods, and exception handling. - AOP Modules: Aspectus supports modules, enabling you to consolidate and load setup code efficiently.
- NuGet Package: Install Aspectus easily through NuGet, simplifying the setup process for your projects.
Installation
To install Aspectus, use the NuGet package manager:
Install-Package Aspectus
Getting Started
Follow these steps to start using Aspectus in your project:
Register Aspectus with your IoC container during startup. Example code for ASP.NET Core:
ServiceProvider? ServiceProvider = new ServiceCollection().AddCanisterModules()?.BuildServiceProvider();
Implement aspects by creating classes that inherit from the
IAspect
interface. Customize aspects based on your specific requirements, such as constructor setups, method injections, and exception handling.public class TestAspect : IAspect { // Implement your aspect logic here }
Utilize Aspectus to create instances of types with injected aspects.
var aspectus = ServiceProvider.GetRequiredService<Aspectus>(); aspectus.Setup(typeof(YourClass)); var item = aspectus.Create<YourClass>(); // Use and enjoy your enhanced object
For a more detailed guide on using Aspectus, including advanced scenarios and AOP modules, refer to the Aspectus Documentation.
Build Process
To build Aspectus from source, ensure you have the following:
- Visual Studio 2022
- .Net 6
Simply clone the repository and open the solution in Visual Studio.
Contributing
Contributions are welcome! To contribute to Aspectus, please follow these steps:
- Fork the repository.
- Create your feature branch:
git checkout -b feature/YourFeature
. - Commit your changes:
git commit -am 'Add YourFeature'
. - Push to the branch:
git push origin feature/YourFeature
. - Submit a pull request.
Please ensure your code follows the existing coding style and includes appropriate tests. Additionally, make sure to update the documentation as needed.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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 is compatible. 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 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. net9.0 is compatible. |
-
net6.0
- Canister.IoC (>= 5.4.3)
- Microsoft.CodeAnalysis.Common (>= 4.11.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.11.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- Microsoft.Extensions.ObjectPool (>= 8.0.11)
- System.IO.FileSystem (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Threading.Tasks.Parallel (>= 4.3.0)
-
net7.0
- Canister.IoC (>= 5.4.3)
- Microsoft.CodeAnalysis.Common (>= 4.11.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.11.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- Microsoft.Extensions.ObjectPool (>= 8.0.11)
- System.IO.FileSystem (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Threading.Tasks.Parallel (>= 4.3.0)
-
net8.0
- Canister.IoC (>= 5.4.3)
- Microsoft.CodeAnalysis.Common (>= 4.11.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.11.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- Microsoft.Extensions.ObjectPool (>= 8.0.11)
- System.IO.FileSystem (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Threading.Tasks.Parallel (>= 4.3.0)
-
net9.0
- Canister.IoC (>= 5.4.3)
- Microsoft.CodeAnalysis.Common (>= 4.11.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.11.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- Microsoft.Extensions.ObjectPool (>= 9.0.0)
- System.IO.FileSystem (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Threading.Tasks.Parallel (>= 4.3.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Aspectus:
Package | Downloads |
---|---|
BigBook
Big Book of Data Types is a collection of various data types including Vector3, Set, RingBuffer, PriorityQueue, Fractions, and DateSpan. It also includes a number of extension methods for types found already in .Net. |
|
FileCurator.Windows
FileCurator.Windows is a set of formats that are only available using the full version of the .Net framework. If an alternative is built in .Net Standard these will be replaced. So consider this a hold over. |
|
HaterAide
HaterAide is a simple ORM that contains a number of features including automatic schema updates to a database based on the object mappings, stored procedure based calls and generation, etc. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
6.0.5 | 1,898 | 12/4/2024 |
6.0.4 | 1,697 | 11/24/2024 |
6.0.3 | 91 | 11/23/2024 |
6.0.2 | 121 | 11/19/2024 |
6.0.1 | 827 | 11/18/2024 |
6.0.0 | 88 | 11/18/2024 |
5.1.1 | 91 | 11/16/2024 |
5.1.0 | 85 | 11/16/2024 |
5.0.65 | 1,371 | 11/11/2024 |
5.0.64 | 2,094 | 11/4/2024 |
5.0.63 | 1,654 | 10/29/2024 |
5.0.62 | 703 | 10/29/2024 |
5.0.61 | 2,750 | 10/9/2024 |
5.0.60 | 708 | 10/8/2024 |
5.0.59 | 9,873 | 8/22/2024 |
5.0.58 | 2,411 | 8/16/2024 |
5.0.57 | 1,778 | 8/13/2024 |
5.0.56 | 1,453 | 8/1/2024 |
5.0.55 | 3,061 | 7/10/2024 |
5.0.54 | 2,829 | 6/25/2024 |
5.0.53 | 30,172 | 6/24/2024 |
5.0.52 | 2,726 | 6/17/2024 |
5.0.51 | 2,760 | 6/11/2024 |
5.0.50 | 1,968 | 5/29/2024 |
5.0.49 | 3,486 | 5/15/2024 |
5.0.48 | 2,131 | 5/6/2024 |
5.0.47 | 1,980 | 5/1/2024 |
5.0.46 | 1,540 | 4/30/2024 |
5.0.45 | 742 | 4/29/2024 |
5.0.44 | 3,324 | 4/10/2024 |
5.0.43 | 3,171 | 3/27/2024 |
5.0.42 | 2,390 | 3/14/2024 |
5.0.41 | 848 | 3/13/2024 |
5.0.40 | 936 | 3/12/2024 |
5.0.39 | 1,734 | 3/6/2024 |
5.0.38 | 506 | 3/5/2024 |
5.0.37 | 448 | 3/4/2024 |
5.0.36 | 3,944 | 2/26/2024 |
5.0.35 | 1,589 | 2/21/2024 |
5.0.34 | 1,215 | 2/19/2024 |
5.0.33 | 1,653 | 2/13/2024 |
5.0.32 | 3,711 | 2/2/2024 |
5.0.31 | 6,136 | 1/29/2024 |
5.0.30 | 3,486 | 1/19/2024 |
5.0.29 | 2,615 | 1/9/2024 |
5.0.28 | 5,830 | 12/11/2023 |
5.0.27 | 3,700 | 11/22/2023 |
5.0.26 | 1,332 | 11/17/2023 |
5.0.25 | 1,409 | 11/16/2023 |
5.0.24 | 1,288 | 11/15/2023 |
5.0.23 | 2,613 | 11/6/2023 |
5.0.22 | 2,332 | 10/30/2023 |
5.0.21 | 2,080 | 10/24/2023 |
5.0.20 | 1,880 | 10/10/2023 |
5.0.19 | 2,683 | 9/18/2023 |
5.0.18 | 2,098 | 9/12/2023 |
5.0.17 | 1,131 | 9/11/2023 |
5.0.16 | 2,473 | 9/5/2023 |
5.0.15 | 1,175 | 9/4/2023 |
5.0.14 | 1,826 | 8/31/2023 |
5.0.13 | 1,338 | 8/30/2023 |
5.0.12 | 1,094 | 8/29/2023 |
5.0.11 | 1,473 | 8/28/2023 |
5.0.10 | 2,640 | 8/21/2023 |
5.0.9 | 1,495 | 8/16/2023 |
5.0.8 | 3,128 | 8/8/2023 |
5.0.7 | 1,142 | 8/7/2023 |
5.0.6 | 4,953 | 7/13/2023 |
5.0.5 | 701 | 7/12/2023 |
5.0.4 | 786 | 7/11/2023 |
5.0.3 | 507 | 7/10/2023 |
5.0.2 | 582 | 7/8/2023 |
5.0.1 | 601 | 7/8/2023 |
5.0.0 | 5,699 | 12/12/2022 |
4.0.24 | 10,139 | 6/6/2022 |
4.0.22 | 11,265 | 1/11/2022 |
4.0.21 | 8,733 | 6/17/2021 |
4.0.20 | 5,458 | 6/15/2021 |
4.0.19 | 2,435 | 1/6/2021 |
4.0.18 | 11,348 | 1/6/2021 |
4.0.17 | 980 | 1/6/2021 |
4.0.16 | 3,883 | 12/14/2020 |
4.0.15 | 1,020 | 12/12/2020 |
4.0.14 | 2,041 | 12/2/2020 |
4.0.13 | 912 | 12/2/2020 |
4.0.10 | 5,771 | 9/13/2020 |
4.0.9 | 17,861 | 4/16/2020 |
4.0.8 | 2,347 | 4/15/2020 |
4.0.7 | 2,035 | 4/15/2020 |
4.0.6 | 2,236 | 4/15/2020 |
4.0.5 | 5,945 | 4/10/2020 |
4.0.4 | 1,846 | 4/10/2020 |
4.0.3 | 8,695 | 3/25/2020 |
4.0.2 | 20,632 | 2/16/2020 |
4.0.1 | 8,836 | 11/23/2019 |
3.1.4 | 1,092 | 11/3/2019 |
3.1.3 | 1,427 | 6/19/2019 |
3.1.2 | 7,048 | 4/17/2019 |
3.1.1 | 9,674 | 2/21/2019 |
3.1.0 | 20,665 | 5/31/2018 |
3.0.6 | 4,645 | 5/22/2018 |
3.0.5 | 7,583 | 2/2/2018 |
3.0.4 | 2,639 | 1/23/2018 |
3.0.1 | 6,700 | 1/2/2018 |
2.0.24 | 2,740 | 12/12/2017 |
2.0.23 | 8,495 | 11/13/2017 |
2.0.22 | 8,029 | 10/2/2017 |
2.0.21 | 1,602 | 10/2/2017 |
2.0.20 | 3,106 | 10/2/2017 |
2.0.19 | 1,615 | 9/30/2017 |
2.0.18 | 1,674 | 9/29/2017 |
2.0.17 | 12,872 | 9/22/2017 |
2.0.16 | 3,347 | 9/20/2017 |
2.0.15 | 8,318 | 8/7/2017 |
2.0.14 | 12,777 | 5/17/2017 |
2.0.13 | 1,749 | 5/17/2017 |
2.0.12 | 1,747 | 5/12/2017 |
2.0.11 | 1,723 | 5/12/2017 |
2.0.5 | 9,675 | 1/24/2017 |
2.0.4 | 1,723 | 1/6/2017 |
2.0.3 | 4,159 | 12/9/2016 |
2.0.2 | 1,690 | 11/29/2016 |
2.0.1 | 2,419 | 11/23/2016 |
1.1.0 | 4,005 | 3/28/2011 |
1.0.10 | 1,710 | 5/12/2017 |
1.0.9 | 1,600 | 5/2/2017 |
1.0.8 | 1,676 | 4/14/2017 |
1.0.7 | 1,679 | 3/22/2017 |