Aspectus 6.0.2
dotnet add package Aspectus --version 6.0.2
NuGet\Install-Package Aspectus -Version 6.0.2
<PackageReference Include="Aspectus" Version="6.0.2" />
paket add Aspectus --version 6.0.2
#r "nuget: Aspectus, 6.0.2"
// Install Aspectus as a Cake Addin #addin nuget:?package=Aspectus&version=6.0.2 // Install Aspectus as a Cake Tool #tool nuget:?package=Aspectus&version=6.0.2
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:
ServiceProvider? ServiceProvider = new ServiceCollection().RegisterAspectus()?.BuildServiceProvider();
or
ServiceProvider? ServiceProvider = new ServiceCollection().AddCanisterModules()?.BuildServiceProvider();
As the library supports Canister Modules.
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 8
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 | 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. |
-
net8.0
- Canister.IoC (>= 6.0.1)
- 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)
-
net9.0
- Canister.IoC (>= 6.0.1)
- 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.2 | 83 | 11/19/2024 |
6.0.1 | 117 | 11/18/2024 |
6.0.0 | 67 | 11/18/2024 |
5.1.1 | 72 | 11/16/2024 |
5.1.0 | 65 | 11/16/2024 |
5.0.65 | 925 | 11/11/2024 |
5.0.64 | 1,768 | 11/4/2024 |
5.0.63 | 1,550 | 10/29/2024 |
5.0.62 | 689 | 10/29/2024 |
5.0.61 | 2,734 | 10/9/2024 |
5.0.60 | 700 | 10/8/2024 |
5.0.59 | 9,653 | 8/22/2024 |
5.0.58 | 2,379 | 8/16/2024 |
5.0.57 | 1,772 | 8/13/2024 |
5.0.56 | 1,446 | 8/1/2024 |
5.0.55 | 3,055 | 7/10/2024 |
5.0.54 | 2,823 | 6/25/2024 |
5.0.53 | 30,125 | 6/24/2024 |
5.0.52 | 2,695 | 6/17/2024 |
5.0.51 | 2,730 | 6/11/2024 |
5.0.50 | 1,951 | 5/29/2024 |
5.0.49 | 3,479 | 5/15/2024 |
5.0.48 | 2,116 | 5/6/2024 |
5.0.47 | 1,976 | 5/1/2024 |
5.0.46 | 1,536 | 4/30/2024 |
5.0.45 | 736 | 4/29/2024 |
5.0.44 | 3,315 | 4/10/2024 |
5.0.43 | 3,166 | 3/27/2024 |
5.0.42 | 2,386 | 3/14/2024 |
5.0.41 | 844 | 3/13/2024 |
5.0.40 | 932 | 3/12/2024 |
5.0.39 | 1,730 | 3/6/2024 |
5.0.38 | 500 | 3/5/2024 |
5.0.37 | 444 | 3/4/2024 |
5.0.36 | 3,940 | 2/26/2024 |
5.0.35 | 1,585 | 2/21/2024 |
5.0.34 | 1,211 | 2/19/2024 |
5.0.33 | 1,601 | 2/13/2024 |
5.0.32 | 3,705 | 2/2/2024 |
5.0.31 | 6,132 | 1/29/2024 |
5.0.30 | 3,482 | 1/19/2024 |
5.0.29 | 2,611 | 1/9/2024 |
5.0.28 | 5,826 | 12/11/2023 |
5.0.27 | 3,694 | 11/22/2023 |
5.0.26 | 1,328 | 11/17/2023 |
5.0.25 | 1,362 | 11/16/2023 |
5.0.24 | 1,241 | 11/15/2023 |
5.0.23 | 2,567 | 11/6/2023 |
5.0.22 | 2,328 | 10/30/2023 |
5.0.21 | 2,076 | 10/24/2023 |
5.0.20 | 1,876 | 10/10/2023 |
5.0.19 | 2,679 | 9/18/2023 |
5.0.18 | 2,094 | 9/12/2023 |
5.0.17 | 1,127 | 9/11/2023 |
5.0.16 | 2,469 | 9/5/2023 |
5.0.15 | 1,171 | 9/4/2023 |
5.0.14 | 1,822 | 8/31/2023 |
5.0.13 | 1,334 | 8/30/2023 |
5.0.12 | 1,090 | 8/29/2023 |
5.0.11 | 1,469 | 8/28/2023 |
5.0.10 | 2,636 | 8/21/2023 |
5.0.9 | 1,491 | 8/16/2023 |
5.0.8 | 3,093 | 8/8/2023 |
5.0.7 | 1,138 | 8/7/2023 |
5.0.6 | 4,949 | 7/13/2023 |
5.0.5 | 697 | 7/12/2023 |
5.0.4 | 782 | 7/11/2023 |
5.0.3 | 503 | 7/10/2023 |
5.0.2 | 578 | 7/8/2023 |
5.0.1 | 597 | 7/8/2023 |
5.0.0 | 5,695 | 12/12/2022 |
4.0.24 | 10,121 | 6/6/2022 |
4.0.22 | 11,259 | 1/11/2022 |
4.0.21 | 8,722 | 6/17/2021 |
4.0.20 | 5,450 | 6/15/2021 |
4.0.19 | 2,429 | 1/6/2021 |
4.0.18 | 11,342 | 1/6/2021 |
4.0.17 | 974 | 1/6/2021 |
4.0.16 | 3,877 | 12/14/2020 |
4.0.15 | 1,014 | 12/12/2020 |
4.0.14 | 2,035 | 12/2/2020 |
4.0.13 | 906 | 12/2/2020 |
4.0.10 | 5,762 | 9/13/2020 |
4.0.9 | 17,853 | 4/16/2020 |
4.0.8 | 2,341 | 4/15/2020 |
4.0.7 | 2,029 | 4/15/2020 |
4.0.6 | 2,230 | 4/15/2020 |
4.0.5 | 5,939 | 4/10/2020 |
4.0.4 | 1,840 | 4/10/2020 |
4.0.3 | 8,689 | 3/25/2020 |
4.0.2 | 20,626 | 2/16/2020 |
4.0.1 | 8,829 | 11/23/2019 |
3.1.4 | 1,086 | 11/3/2019 |
3.1.3 | 1,421 | 6/19/2019 |
3.1.2 | 6,999 | 4/17/2019 |
3.1.1 | 9,668 | 2/21/2019 |
3.1.0 | 20,654 | 5/31/2018 |
3.0.6 | 4,633 | 5/22/2018 |
3.0.5 | 7,570 | 2/2/2018 |
3.0.4 | 2,628 | 1/23/2018 |
3.0.1 | 6,689 | 1/2/2018 |
2.0.24 | 2,729 | 12/12/2017 |
2.0.23 | 8,484 | 11/13/2017 |
2.0.22 | 8,018 | 10/2/2017 |
2.0.21 | 1,591 | 10/2/2017 |
2.0.20 | 3,095 | 10/2/2017 |
2.0.19 | 1,604 | 9/30/2017 |
2.0.18 | 1,663 | 9/29/2017 |
2.0.17 | 12,861 | 9/22/2017 |
2.0.16 | 3,336 | 9/20/2017 |
2.0.15 | 8,307 | 8/7/2017 |
2.0.14 | 12,766 | 5/17/2017 |
2.0.13 | 1,738 | 5/17/2017 |
2.0.12 | 1,736 | 5/12/2017 |
2.0.11 | 1,712 | 5/12/2017 |
2.0.5 | 9,665 | 1/24/2017 |
2.0.4 | 1,713 | 1/6/2017 |
2.0.3 | 4,147 | 12/9/2016 |
2.0.2 | 1,680 | 11/29/2016 |
2.0.1 | 2,409 | 11/23/2016 |
1.1.0 | 3,992 | 3/28/2011 |
1.0.10 | 1,699 | 5/12/2017 |
1.0.9 | 1,588 | 5/2/2017 |
1.0.8 | 1,665 | 4/14/2017 |
1.0.7 | 1,669 | 3/22/2017 |