Visual Studio Project Fixer is a software tool that fixes broken Visual Studio projects.
What’s a broken project? A project that you know is up to date, but which Visual Studio thinks needs rebuilding.
If you’ve seen this dialog but you know that the software is up to date and doesn’t need to be built then you know how frustrating it is dealing with a broken Visual Studio project.
There are lots of articles telling you how to fix this problem, all over the internet, Stack Overflow, etc. But they all require manual intervention. You have to follow a sequence of steps, not make any mistakes, do different things depending on the version of Visual Studio you are using. In short, it’s time consuming and error prone.
You can’t just push a button and let software fix the problem for you.
We have a lot of projects at Software Verify, over 200, with over 1000 project configurations, across nearly 30 solutions. Quite a lot of our projects had this problem, we’d build them, but Visual Studio would say they were out of date. Eventually we got tired of this and started looking for a solution. Problem is, for small projects with one or two items needing fixing, manual intervention is OK. It’s dull and boring, but you can live with it. But we had huge projects with many issues that were tripping up Visual Studio and resulting in that incorrect “project is out of date” warning. That’s why we created Visual Studio Project Fixer.
This is the summary page for many projects. The above image shows 29 projects loaded from one solution. The projects shown in colour have different issues.
These are files that should be in the project but which are not. For example you added a source file ImportantCode.cpp but forgot to add the corresponding header file ImportantCode.h.
These are files that are in the project, but they are specified incorrectly and identify a file that doesn’t exist. For example a file uiWorkPackageEx.h is listed, but the file has been moved since it’s creation and the correct path should be ..\..\svlCommon\uiWorkPackage.h
Files that don’t exist.
For example a file ..\..\testCode\usefulConstants.h. This file once existed but has been deleted (or moved).
These are files from a previous version of Visual Studio. For example WinHelp files from Visual Studio 6.
These are Visual Studio dependency information files. These can get out of date and cause problems. Often deleting these files will fix build dependency errors. These files will be automatically rebuilt by Visual Studio.
You have full control over which projects are modified, what problems are fixed and what problems are ignored.
Backups of existing project files are provided, complete with a timestamp. If a particular project fix fails, you can recover your previous project file with ease.
Prefer to be able to drive the project fixer from a command line? We have support for that too. Here’s some examples:
Identify any projects that need fixing, but don’t fix them.
VisualStudioProjectFixer.exe /dir e:\om\c\projects /projects /vcxproj /vcproj /log e:\VSPFlog.txt /warnOnlyDoNoChange
Identify any vcxproj projects that need fixing, fix them, save them and make backups.
VisualStudioProjectFixer.exe /dir e:\om\c\projects /solutions /vcxproj /detectAll /fixAll /noPromptForSave /makeBackups
Works with Visual Studio 2022, 2019, 2017, 2015, 2013, 2012, 2010, 2008, 2005, 2003, 2002.
Sorry, Visual Studio 6 is not supported by Visual Studio Project Fixer.
Windows 11, 10, 8, 7, Vista, XP, and all equivalent server versions.
It’s possible that even after running Visual Studio Project Fixer, in some circumstances, you may still see this dialog. It’s a rare thing to see, but it can happen.
If you’re still seeing this annoying dialog after you have run Visual Studio Project Fixer, then you should try cleaning all the temporary files that Visual Studio creates. The easiest way to do this is to use Visual Studio Project Cleaner. The default settings will delete everything except the executable files and PDB files you created when the project was built. For the few cases that we’ve seen where Visual Studio Project Fixer didn’t stop this dialog from appearing, cleaning the project with Visual Studio Project Cleaner solved the problem.