nildiff 1.16.8

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global nildiff --version 1.16.8
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local nildiff --version 1.16.8
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=nildiff&version=1.16.8
                    
nuke :add-package nildiff --version 1.16.8
                    

nildiff

.NET Global Tool for folder diff and release validation. Compares two folders and generates structured diff reports.

Install

dotnet tool install -g nildiff

Usage

# Compare two folders
nildiff "/path/to/old-folder" "/path/to/new-folder" "my-comparison" --no-pause

# Or omit the label to auto-generate a high-resolution timestamp
nildiff "/path/to/old-folder" "/path/to/new-folder" --no-pause

# Interactive wizard mode
nildiff --wizard

# Show help
nildiff --help

Output

File Description
diff_report.md Markdown report for archiving and text-based review
diff_report.html Interactive single-file HTML report with sign-off workflow
audit_log.json Structured audit log with SHA256 hashes

Key Feature: IL-Level Comparison

For .NET assemblies (.dll, .exe), nildiff compares at the IL level rather than binary level, filtering out build-specific noise (MVID, timestamps). Functionally identical assemblies are reported as "unchanged" even when binary hashes differ due to non-deterministic builds.

Configuration

The tool works out of the box with default settings. To customize behavior, create a config.json and pass it via --config:

nildiff "/old" "/new" "label" --config /path/to/config.json

When the report label is omitted, nildiff auto-generates a high-resolution timestamp label. Tokens beginning with -- are treated as options, not report labels.

Individual settings can also be overridden via FOLDERDIFF_* environment variables (e.g. FOLDERDIFF_MAXPARALLELISM=8). For maintainer-only IL noise suppression, --creator applies the predefined buildserver-winforms ILIgnoreLineContainingStrings profile. See the annotated sample config for all available settings.

The default config.json location varies by OS:

OS Path
Windows %USERPROFILE%\.dotnet\tools\.store\nildiff\<version>\nildiff\<version>\tools\net8.0\any\config.json
macOS / Linux $HOME/.dotnet/tools/.store/nildiff/<version>/nildiff/<version>/tools/net8.0/any/config.json

Note: The default config in the tool store is overwritten on tool update. For persistent customization, keep your own config.json and use --config.

Optional: IL Disassembler

For IL-level comparison, install an IL disassembler:

dotnet tool install -g dotnet-ildasm

Without an IL disassembler, .NET assemblies are compared by SHA256 hash only.

Requirements

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.22.0 39 7/25/2026
1.21.0 86 7/22/2026
1.20.6 93 7/17/2026
1.20.5 137 6/19/2026
1.20.4 115 6/11/2026
1.20.3 118 6/9/2026
1.20.2 109 6/7/2026
1.20.1 116 5/25/2026
1.20.0 117 5/10/2026
1.19.0 107 5/1/2026
1.18.3 116 4/29/2026
1.18.2 114 4/26/2026
1.18.1 121 4/20/2026
1.18.0 117 4/18/2026
1.17.2 118 4/17/2026
1.16.10 119 4/13/2026
1.16.9 120 4/12/2026
1.16.8 119 4/11/2026
1.16.7 117 4/11/2026
1.16.6 120 4/11/2026
Loading failed