nildiff 1.16.2
See the version list below for details.
dotnet tool install --global nildiff --version 1.16.2
dotnet new tool-manifest
dotnet tool install --local nildiff --version 1.16.2
#tool dotnet:?package=nildiff&version=1.16.2
nuke :add-package nildiff --version 1.16.2
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
# 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
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.jsonand 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
- .NET SDK 8.0 or later
License
| Product | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.20.5 | 118 | 6/19/2026 |
| 1.20.4 | 112 | 6/11/2026 |
| 1.20.3 | 115 | 6/9/2026 |
| 1.20.2 | 104 | 6/7/2026 |
| 1.20.1 | 113 | 5/25/2026 |
| 1.20.0 | 112 | 5/10/2026 |
| 1.19.0 | 105 | 5/1/2026 |
| 1.18.3 | 112 | 4/29/2026 |
| 1.18.2 | 111 | 4/26/2026 |
| 1.18.1 | 119 | 4/20/2026 |
| 1.18.0 | 115 | 4/18/2026 |
| 1.17.2 | 115 | 4/17/2026 |
| 1.16.10 | 118 | 4/13/2026 |
| 1.16.9 | 115 | 4/12/2026 |
| 1.16.8 | 117 | 4/11/2026 |
| 1.16.7 | 114 | 4/11/2026 |
| 1.16.6 | 117 | 4/11/2026 |
| 1.16.5 | 115 | 4/11/2026 |
| 1.16.4 | 128 | 4/10/2026 |
| 1.16.2 | 107 | 4/9/2026 |