NsDepCop icon indicating copy to clipboard operation
NsDepCop copied to clipboard

NsDepCop is a static code analysis tool that helps to enforce namespace dependency rules in C# projects. No more unplanned or unnoticed dependencies in your system.

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?

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.

See the Help for details.

Optional Stuff

  • Install the NsDepCop Config XML Schema Support for Visual Studio to get validation and IntelliSense while editing the config.nsdepcop files.
    • For Visual Studio 2017/2019: Visual Studio extension
    • For Visual Studio 2015: see the instructions in Help.

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 (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

  • See the Change Log for version history.

Feedback

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

More Info

  • Diagnostics Reference
  • Troubleshooting
  • How to contribute?

Thanks to

License

  • GPL-2.0