Almost 7 years ago I uploaded the OSS project NDepend.Helpers.FileDirectoryPath on CodePlex. Today I just uploaded its successor NDepend.Path on Github. NDepend.Path represents a major step for the path project. It can now handle pretty much all paths scenarios asked by users during all these years, including:
- Prefixing path with an environment variable (this one could be the most demanded feature!) My number one issue with NDepend still persists to version 5 – you still can’t use environment variables in framework folder paths.
- Using custom variables/macros in path as in $(SolutionDir)
- Support for UNC paths (Universal Naming Convention)
In numbers NDepend.Path is 2.032 logical lines of C# code 100% covered by 552 unit-test, spawned through 77 types. This is not a tiny project and I hope this work will be useful to others in charge of applications that need to handle real-world complex paths managements.
Here is a code excerpt showing what can be done with the NDepend.Path API and how to use it.
In NDepend v5.2 just released, we’ve added a new Paths Referenced tab in the Project Properties panel, that lets the user manage all paths referenced by a project, with a glimpse on how paths are resolved on the current machine. The implementation is all based on the NDepend.Path OSS project.