A class that, when inherited by a type in a project (under any name or namespace), allows that type to analyze and add aspects to that project.
public abstract class ProjectFabric : Fabric, ICompileTimeSerializable, ITemplateProvider
When the project contains several project fabrics, the ones whose source file is the closest to the root directory is executed first. The project fabrics are then ordered by type name.
The user can implement this method to analyze types in the current project, add aspects, and report or suppress diagnostics.