A Windows tool for validating consistency across CSV manifest files in a software build/packaging workflow — it finds components that are missing or mismatched between related manifest files.
CSVComparison is a WinForms application that helps release/packaging teams verify that the components declared across multiple CSV manifest files are complete and consistent. It reports any entry that exists in one file but is missing from another, helping catch manifest errors before a build or release.
Results are shown as a log in the form:
<entries remaining in left file> | <entries remaining in right file>
An empty result means both files match perfectly.
Pick any two CSV files and compare them directly on the first column. Useful for ad-hoc checks.
Select a project (from the list) and automatically compare multiple file pairs. Each check can be toggled with a checkbox:
| Check | Files compared | Notes |
|---|---|---|
| Includes | ComponentIncludes.csv ↔ *.includes.csv |
|
| Restrictions | *.includes.csv ↔ *.restrictions.csv |
inspects the ComponentRestrictedRestrictionType column |
| Patches | *.includes.csv ↔ *.patches.csv |
inspects the ComponentVersionUsedPatchDate column |
| Prereqs (Build) | *.prereqs.build.windows/linux.csv ↔ internal |
|
| Prereqs (Install) | *.prereqs.install.windows/linux.csv ↔ internal |
Compares the component names listed in components/ComponentIncludes.csv against the actual subdirectory names under each project's tools/ directory.
Program.cs— entry point; launchesMainFormMainForm.cs— main UI with 3 tabs; comparison work runs on a separateThreadand appends results viaInvoke(keeps the UI responsive)Classes/CSVHelper.cs— all comparison logic (reads CSVs, computes the set difference on the configured columns)Classes/ReadWriteCsv.cs—CsvFileReader/CsvRowfor reading and writing CSVClasses/FileHelper.cs— file-handling utilities
SVNProjectList.dll— populates the project list shown in the ListBox (ListBoxHelper)Excel.dll— file-reading helper library
CSVComparison/
├── CSVComparison.sln
└── CSVComparison/
├── Program.cs
├── MainForm.cs / MainForm.Designer.cs
├── Classes/
│ ├── CSVHelper.cs # core comparison logic
│ ├── ReadWriteCsv.cs # CSV reader/writer
│ └── FileHelper.cs
├── libs/ # SVNProjectList.dll, Excel.dll
├── example/example.rar # sample data for testing
└── App.config
- Open
CSVComparison.slnin Visual Studio (targets .NET Framework 4.5.2) - Make sure the references to
libs/SVNProjectList.dllandlibs/Excel.dllresolve correctly - Build and run — the app loads the project list into the ListBox automatically
- (Optional) Extract
example/example.rarto use as sample test data
This tool is built around a specific manifest layout (components/, internal/, tools/, and the ComponentIncludes / includes / restrictions / patches / prereqs files), so it is best suited to that internal project convention. To use it with a different structure, adjust the file names and column indices in CSVHelper.cs.