Static code analysis tool for enforcing namespace-based type dependency rules in C# projects.


Keywords
static, code, analysis, analyzer, tool, C#, csharp, namespace, type, dependency, dependencies, dependency-analysis, dotnet, msbuild, nuget, static-code-analysis, visual-studio-extension
License
GPL-2.0-only
Install
Install-Package NsDepCop -Version 2.3.0

Documentation

NsDepCop - Namespace Dependency Checker Tool for C#

Build Status

NsDepCop is a static code analysis tool that helps you to enforce namespace dependency rules in C# projects.

  • Runs as part of the build process and reports dependency problems.
  • No more unplanned or unnoticed dependencies in your system.

What is this dependency control anyway? And why automate it?

Getting Started

  1. Add the NsDepCop NuGet package to your C# projects: NuGet Package
  2. Add a file called config.nsdepcop. Edit it and describe dependency rules.
  3. Dependency violations will be underlined in the code editor and also reported at build time just like compiler errors/warnings.

Or check out this step-by-step tutorial video by plainionist.

To get validation and IntelliSense while editing the config.nsdepcop files, add the config XML schema to the Visual Studio XML schema cache. See details here.

See the Help for details.

Changes in v2.0

The big change in v2.0 is that the implementation changed from MSBuild task + Visual Studio Extension to a standard Roslyn analyzer.

  • Supports .NET Core / .NET 5+ projects too.
  • No need for the NsDepCop Visual Studio Extension any more.
  • Requires Visual Studio 2019/2022 (16.10.0 or later).
    • Dropped support for VS 2015/2017. For those, use NsDepCop v1.11.0.
  • No need for the out-of-process service host any more.
    • No more "Unable to communicate with NsDepCop service".

Please note that the AutoLowerMaxIssueCount feature is temporarily not supported. Do not yet upgrade to v2.0 if you're using that.

Versions

Feedback

  • Please use the Issue Tracker to record bugs and feature requests.
  • Or find me on twitter Follow on Titter

More Info

Thanks to

License