Novolis.IO.Paths
2026.1.1.34
See the version list below for details.
dotnet add package Novolis.IO.Paths --version 2026.1.1.34
NuGet\Install-Package Novolis.IO.Paths -Version 2026.1.1.34
<PackageReference Include="Novolis.IO.Paths" Version="2026.1.1.34" />
<PackageVersion Include="Novolis.IO.Paths" Version="2026.1.1.34" />
<PackageReference Include="Novolis.IO.Paths" />
paket add Novolis.IO.Paths --version 2026.1.1.34
#r "nuget: Novolis.IO.Paths, 2026.1.1.34"
#:package Novolis.IO.Paths@2026.1.1.34
#addin nuget:?package=Novolis.IO.Paths&version=2026.1.1.34
#tool nuget:?package=Novolis.IO.Paths&version=2026.1.1.34
<p align="center"> <a href="https://github.com/Novolis-Platform/novolis-io"> <img src="https://raw.githubusercontent.com/Novolis-Platform/.github/main/brand/logo-icon.svg" width="72" alt="Novolis"/> </a> </p>
Novolis.IO.Paths
Walk parent directories to find a workspace root using caller-supplied markers (files/dirs) or a custom predicate. Used by dogfood apps and Studio hosts to locate repo roots without hard-coded paths.
Install
dotnet add package Novolis.IO.Paths
Quick start
using Novolis.IO.Paths;
// All listed relative paths must exist under the root (file or directory).
if (RootFinder.TryFind(
Environment.CurrentDirectory,
["nuget.config", "Directory.Packages.props"],
out var root))
{
Console.WriteLine(root);
}
// Or supply a custom predicate:
RootFinder.TryFind(startDir, dir => File.Exists(Path.Combine(dir.FullName, ".git", "HEAD")), out root);
API
| Member | Role |
|---|---|
RootFinder.TryFind(start, requiredRelativePaths, out root) |
Nearest ancestor where every marker exists |
RootFinder.TryFind(start, isRoot, out root) |
Nearest ancestor matching Func<DirectoryInfo, bool> |
On failure, root is set to startDir and the method returns false.
Dogfooding
dotnet run --project ../novolis-dogfooding/apps/io/IoSmoke
Related
| Package | Role |
|---|---|
Novolis.IO.Workspace |
Root-scoped file IO (published from novolis-storage) |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Novolis.IO.Paths:
| Package | Downloads |
|---|---|
|
Novolis.IO.Git
Process-based Git: status, history/graph, stash, diff, branches, and multi-repo workspace batch ops. |
|
|
Novolis.Manuscript
Manuscript workspace catalog, chapter metadata, and diagnostics (no PDF/audio). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.54 | 34 | 10/4/2026 |
| 2026.1.1.53 | 39 | 10/4/2026 |
| 2026.1.1.52 | 64 | 10/4/2026 |
| 2026.1.1.51 | 55 | 10/3/2026 |
| 2026.1.1.50 | 41 | 10/3/2026 |
| 2026.1.1.49 | 45 | 10/2/2026 |
| 2026.1.1.48 | 43 | 10/2/2026 |
| 2026.1.1.47 | 43 | 10/2/2026 |
| 2026.1.1.46 | 42 | 10/2/2026 |
| 2026.1.1.45 | 45 | 10/2/2026 |
| 2026.1.1.36 | 41 | 10/2/2026 |
| 2026.1.1.35 | 44 | 10/1/2026 |
| 2026.1.1.34 | 140 | 9/30/2026 |