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?
- Add the NsDepCop NuGet package to your C# projects:
- Add a file called config.nsdepcop. Edit it and describe dependency rules.
- 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.
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.
- The NuGet package works both at build time and inside Visual Studio editor.
- If the NuGet package is added to a project then it appears in Solution Explorer: project / Dependencies / Analyzers / NsDepCop.Analyzer
- Issue severities can be configured using Visual Studio light bulb menu or .editorconfig files.
- 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.
- See the Change Log for version history.
- Please use the Issue Tracker to record bugs and feature requests.
- Or find me on twitter
- Roslyn for the best parser API.
- ReSharper for the free licence of this amazing tool.
- DotNet.Glob for the globbing library.