53 packages tagged with “Metalama”
A Roslyn-based meta-programming framework for code generation, architecture validation and aspect-oriented programming in C#.
Redistributable components for package 'Metalama.Framework'. This package should only be installed as a dependency. (This is not the package you are looking for.)
A fork of the Roslyn compiler that adds an extension point allowing for syntax tree transformations. This fork is used by the Metalama framework.
An official and open-source Metalama extension that allows aspects to consume dependencies from an arbitrary dependency injection framework.
A Metalama package providing licensing, telemetry and other configuration settings for projects using Metalama.
A Metalama command line tool. Used for registering a license key or accessing some configuration settings.
Metalama SDK. A tool for custom source code modifying extensions using the Roslyn API. More powerful than source generators.
Provides introspection of Metalama aspect classes, aspect instances and diagnostics reported by Metalama.
A multi-repo build orchestrator used by PostSharp Technologies for its products and for Metalama.
Defines the ISourceTransformer interface as well as other APIs that allow you to write source transformers for Metalama.Compiler.
Package Description
Test framework for Metalama aspects and fabrics. This is not your typical test framework. When referencing this package, every _file_ is turned into a test by default. Please read the documentation before use.
A Metalama framework adapter that locates and pulls dependencies from a global service provider.
The main implementation of Metalama.Framework. It should normally never be referenced in any user project.
A Metalama package that allows you to load solutions and projects, get their code model, execute Metalama on them, and get the introspection model of the compilation result.
A commercial Metalama extension that allows to verify the code against architecture rules.
An official and open-source Metalama extension that emulates PostSharp multicasting.
A Metalama extension that exposes code metrics to the code model.
Defines the interface between the transformed compile-time user code and the Metalama engine. The package should normally never be referenced in any user project.
A helper package used internally by Metalama to process telemetry and provide a user interface.
A package containing annotated PostSharp API, documenting its Metalama equivalent. It is only useful when migrating PostSharp to Metalama, and must then be removed.
Implements fast and pluggable string formatters. Used by Metalama.Patterns.Caching.
A helper package implementing a logging front-end for Metalama.Patterns.Caching.
A Metalama weaver that automatically adds CancellationToken to your method definitions and your method calls.
A caching front-end that can be plugged different backends and helps with building the cache key, coping with special return types, invalidating the cache (directory or with dependencies). This package does not require the Metalama Aspect Framework.
Contract-Based Programming (or Design-by-Contract) with custom attributes such as [NotNull] or [Url] thanks to Metalama: pre-conditions, post-conditions and invariants.
Simple and high-performance caching of properties or parameterless methods with a single [Memo] custom attribute thanks to Metalama.