Skip to content

Repository files navigation

VcxprojSimplifier

Tool for deduplication of Conditional sections inside MSbuild project files typically used for vcxproj

© 2026 Stormshield

Usage

VcxprojSimplifier.exe [--debug|--go] <file.vcxproj> […]
  • --debug will produce many intermediate files, one after each simplification step
  • --go will overwrite the original file (not compatible with --debug). Otherwise, the output file will have the .simplified extension added.

It is a prerequisite to install the .NET 8.0 Runtime (or a later runtime). This can be done with:
winget install --exact --id Microsoft.DotNet.Runtime.8

Exit code 0 means success, other values mean failure.

Notes

Please version your files and review the changes made by this tool.

There are some limitations, including:

  • XML Comments may be misplaced after transformations
  • Attributes containing line break characters (CR/LF) will have them replaced with spaces. This can break multi-line <Exec> command lines! This is a limitation of the XML parser.

FAQ

How to simplify all my files?

First, read the notes above. Have your originals saved and be sure you can review the diffs.

I suggest using fd (rust package fd-find). With this tool, you can use: fd -e vcxproj -X "<path/to/VcxprojSimplifier.exe>" --go

Contribute

Your pull requests are welcome and will be reviewed.

Submit a problem

If you wish to submit a problem, please:

  • run with --debug and find, inside the step files (.transform00001 and further), what step introduced the problem first.
    If this is the 00001parse step, there is probably nothing we can do.
  • try to provide a minimal example and indicate what step caused the problem, with initial values, expected outcome and actual outcome.

Privacy pledge

This product works offline. Our code will not use the network other than for accessing the files you specified on the command line.

AI policy

This product was written, reviewed and tested by humans.

It will never interact with LLMs at runtime.

You may use AI agents to find problems and get code change suggestions, but please have a human involved in submitting issues or merge requests.

About

Vcxproj rewriting tool that performs factorization on Condition attributes

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages