AspectLib 1.0.0-pre-release
See the version list below for details.
dotnet add package AspectLib --version 1.0.0-pre-release
NuGet\Install-Package AspectLib -Version 1.0.0-pre-release
<PackageReference Include="AspectLib" Version="1.0.0-pre-release" />
<PackageVersion Include="AspectLib" Version="1.0.0-pre-release" />
<PackageReference Include="AspectLib" />
paket add AspectLib --version 1.0.0-pre-release
#r "nuget: AspectLib, 1.0.0-pre-release"
#:package AspectLib@1.0.0-pre-release
#addin nuget:?package=AspectLib&version=1.0.0-pre-release&prerelease
#tool nuget:?package=AspectLib&version=1.0.0-pre-release&prerelease
AspectLib
A no-config C# library of aspects using MrAdvice to replace repetitive code with simple attributes.
Built as a free alternative to existing AOP frameworks where tooling is often expensive or awkward to integrate into modern solutions.
This library simplifies cross-cutting concerns like caching without needing to wire up or manage infrastructure code manually. Designed to drop cleanly into .NET applications with minimal setup.
📦 Installation
Install the package via NuGet:
dotnet add package AspectLib --version 1.0.0-pre-release
Note:
This package includes MrAdvice as a dependency and automatically enables method interception and build-time weaving when your project builds.
🚀 Usage
Once installed, you can apply the attribute to your methods like so:
[Cache]
public async Task<int> ExampleMethod()
{
// method body
}
📖 Example
[Cache]
public static string ProcessData()
{
// method body
}
When this method is called, the attribute logic will be invoked according to its implementation.
📖 Features
Implemented:
- [Cache] — Wraps a method call with a cache. If the cache is a hit, it is returned directly without invoking the methdo. Otherwise, the method is invoked and the result is stored in the cache.
Planned:
- Logging Aspect
- Retry Aspect
- Timeout Aspect
📦 Requirements & Compatibility
- Requires .NET 8.0 (other versions untested)
- Method interception powered by MrAdvice (included automatically)
📅 Project Status
Active development. Breaking changes expected until 1.0.
✅ Roadmap
- Publish NuGet package
- Add Logging, Retry, Timeout aspects
- Set up CI/CD pipeline with build & test badge
- Write contribution guidelines & code style rules
🤝 Contributing
Contributions are welcome.
If you encounter a bug or have a feature request:
- Open an issue describing the problem or enhancement.
- Fork the repository.
- Submit a pull request.
Fixes and improvements will be handled on a best-effort basis.
📜 License
MIT License. See LICENSE file for details.
Use at your own risk.
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 was computed. 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. |
-
net8.0
- Microsoft.Extensions.Caching.Memory (>= 9.0.5)
- MrAdvice (>= 2.16.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 147 | 5/19/2025 |
1.0.0-pre-release-1 | 125 | 5/18/2025 |
1.0.0-pre-release | 94 | 5/17/2025 |