https://github.com/postsharp/metalama.framework
The core repository of the Metalama project. Published under a proprietary source-available license.
https://github.com/postsharp/metalama.framework
metalama
Last synced: 10 months ago
JSON representation
The core repository of the Metalama project. Published under a proprietary source-available license.
- Host: GitHub
- URL: https://github.com/postsharp/metalama.framework
- Owner: postsharp
- License: other
- Created: 2023-10-06T12:10:48.000Z (over 2 years ago)
- Default Branch: release/2025.0
- Last Pushed: 2025-04-03T04:20:56.000Z (11 months ago)
- Last Synced: 2025-04-03T05:24:37.214Z (11 months ago)
- Topics: metalama
- Language: C#
- Homepage: https://www.postsharp.net/metalama
- Size: 33 MB
- Stars: 48
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Metalama.Framework
This repository houses the core framework implementation of [Metalama](https://github.com/postsharp/Metalama).
> [!WARNING]
> This repository operates under a [source-available commercial license](LICENSE.md). While you can refer to the source code for reference and troubleshooting purposes, modifications and builds from this source code are prohibited. To modify and build from the source code, a separate Source Subscription must be acquired.
## Packages
Below are the NuGet packages associated with this repository:
| Package | Description |
| ------------------------------------------------------------------------------------------------------------------ | -------------- |
| [Metalama.Framework](https://www.nuget.org/packages/Metalama.Framework/) | This is the public API of the Metalama Framework. It incorporates a reference to Metalama.Compiler, effectively replacing the Roslyn compiler with our custom version. |
| [Metalama.Testing.UnitTesting](https://www.nuget.org/packages/Metalama.Testing.UnitTesting/) | Provides base classes and utilities for unit testing compile-time code. |
| [Metalama.Testing.AspectTesting](https://www.nuget.org/packages/Metalama.Testing.AspectTesting/) | A framework based on xUnit for testing code generation by aspects. |
| [Metalama.Framework.Redist](https://www.nuget.org/packages/Metalama.Framework.Redist/) | Similar to `Metalama.Framework`, but excludes the dependency on `Metalama.Compiler`. |
| [Metalama.Framework.Sdk](https://www.nuget.org/packages/Metalama.Framework.Sdk/) | Facilitates the use of the Roslyn API from aspects. |
| [Metalama.Framework.Engine](https://www.nuget.org/packages/Metalama.Framework.Engine/) | This is the core implementation of `Metalama.Framework`. Direct referencing of this package is discouraged and unsupported. It's intended to be a dependency for `Metalama.Testing.AspectTesting`. |
| [Metalama.Framework.CompileTimeContracts](https://www.nuget.org/packages/Metalama.Framework.CompileTimeContracts/) | Defines the public API between compiled T# templates and `Metalama.Framework.Engine`. |
| [Metalama.Framework.Introspection](https://www.nuget.org/packages/Metalama.Framework.Introspection/) | Provides an API to inspect the object model that represents the compilation process of `Metalama.Framework`, such as aspect and advice instances, as well as its results. |
| [Metalama.Framework.Workspaces](https://www.nuget.org/packages/Metalama.Framework.Workspaces/) | A supplementary API to `Metalama.Framework.Introspection`, designed to facilitate the loading of Visual Studio projects and solutions. This package is also useful to inspect projects that don't use Metalama. It is used by `Metalama.LinqPad`. |
| [Metalama.Tool](https://www.nuget.org/packages/Metalama.Tool/) | The `metalama` tool for the .NET CLI. |