SyncProjects is a command line utility that can be used to keep multiple project files in sync.
This is particularly useful when working on large libraries that target multiple .Net versions and profiles since you can have one central project that all changes go to and sync those changes out to project files representing platform specific builds which have relevant compiler constants and options defined.
SyncProjects may be run like so:
> SyncProjects.exe sync source.csproj target.csproj ..\source\
The above instructs the tool to synchronize the source.csproj with the target.csproj project, this will add any files present in the source that are missing from the target to the target and remove any files from the target that are not known from the source. The relative path ..\source\ is so that the tool can correctly generate links to the real code files from the source project in the target project. The tool will synchronize all compile and embedded resource items except for AssemblyInfo.cs.