Table of Contents

NDepend.API

NDepend.API is the programming interface of NDepend. A .NET program can use it to load or create NDepend projects, run analyses, browse the code model of the analyzed code base, run CQLinq code queries and rules, and compute issues and trend metrics.

To get started, read the NDepend.API quickstart.

Namespaces

NDepend

The namespace NDepend provides the unique type NDependServicesProvider, that needs to be instantiated at least once in a program, before using any NDepend.API feature.

NDepend.Analysis

The namespace NDepend.Analysis provides types and methods needed to start an analysis, obtain log during the analysis execution and gather the analysis result

NDepend.Attributes

The namespace NDepend.Attributes provides attributes used in default code queries and rules. The user can create its own attributes, and adapt default code queries and rules, or reuse these attributes.

NDepend.CodeModel

The namespace NDepend.CodeModel provides all types needed for a detailed snapshot of a .NET code base, modelized by an ICodeBase object, obtained from an IAnalysisResult object. NDepend.CodeModel is the core of NDepend.API.

NDepend.CodeQuery

The namespace NDepend.CodeQuery provides types used to create, compile, run and modelize the result, of CQLinq and CQL code queries and rules.

NDepend.DotNet

The namespace NDepend.DotNet provides types that facilitate working with .NET assemblies and .NET framework installed redistribution.

NDepend.DotNet.VisualStudio

The namespace NDepend.DotNet.VisualStudio provides types that facilitate working with files created by Visual Studio.

NDepend.Github
NDepend.Helpers

The namespace NDepend.Helpers provides extension methods concerned with enumerables, sets and strings, that make code querying more elegant and performant.

NDepend.Issue

The namespace NDepend.Issues provides types and extension methods to handle issues.

NDepend.Path

The namespace NDepend.Path provides types concerned with file and directory path management.

NDepend.Project

The namespace NDepend.Project provides types that modelize every aspects of a NDepend project.

NDepend.Reserved.AI
NDepend.Reserved.CQLinq

This namespace contains types that can be used only in a CQLinq query, but that cannot be used from a program based on NDepend.API. The CQLinq compiler reserves special treatment of members and types in this namespace.

NDepend.Reserved.Linq
NDepend.Security
NDepend.TechnicalDebt

The namespace NDepend.TechnicalDebt provides types and extension methods to handle the technical-debt concepts.

NDepend.Trend

The namespace NDepend.Trend provides types to read and edit trend metrics values logged, and to force log of trend metrics once an analysis has been done.