Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 3.31 KB

README.md

File metadata and controls

28 lines (21 loc) · 3.31 KB

Metalama logo

Metalama.Framework

This repository houses the core framework implementation of Metalama.

Warning

This repository operates under a source-available commercial license. 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 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 Provides base classes and utilities for unit testing compile-time code.
Metalama.Testing.AspectTesting A framework based on xUnit for testing code generation by aspects.
Metalama.Framework.Redist Similar to Metalama.Framework, but excludes the dependency on Metalama.Compiler.
Metalama.Framework.Sdk Facilitates the use of the Roslyn API from aspects.
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 Defines the public API between compiled T# templates and Metalama.Framework.Engine.
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 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 The metalama tool for the .NET CLI.