How to get Visual Studio Project Fixer

Navigation: »No topics above this level«

How to get Visual Studio Project Fixer

 Return to chapter overview

Visual Studio Project Fixer is free for commercial use. Visual Studio Project Fixer can be downloaded for Software Verify's website at https://www.softwareverify.com/product/visual-studio-project-fixer/.

This help manual is available in Compiled HTML Help (Windows Help files), PDF, and online.

Windows Help | https://www.softwareverify.com/documentation/chm/visualStudioProjectFixer.chm
PDF | https://www.softwareverify.com/documentation/pdfs/visualStudioProjectFixer.pdf
Online | https://www.softwareverify.com/documentation/html/visualStudioProjectFixer/index.html

Whilst Visual Studio Project Fixer is free for commercial use, Visual Studio Project Fixer is copyrighted software and is not in the public domain.

You are free to use the software at your own risk.

You are not allowed to distribute the software in any form, or to sell the software, or to host the software on a website.

Contact

Contact Software Verify at:

Software Verify Limited

Suffolk Business Park

Eldo House

Kempson Way

Bury Saint Edmunds

IP32 7AR

United Kingdom

sales | sales@softwareverify.com
support | support@softwareverify.com
web | https://www.softwareverify.com
blog | https://blog.softwareverify.com
library | https://library.softwareverify.com
twitter | https://twitter.com/softwareverify

Visit our blog to read our articles on debugging techniques and tools.

Follow us on twitter to keep track of the latest software tools and updates.


What does Visual Studio Project Fixer do?

Navigation: »No topics above this level«

What does Visual Studio Project Fixer do?

 Return to chapter overview

Visual Studio Project Fixer scans your Visual Studio projects looking for errors which can cause Visual Studio to think the project needs building, even when you've just built it.

A graphical user interface and a command line interface are provided for interactive and automated use.

File Formats

Currently we support .vcxproj (Visual Studio 2010-2017) and .vcproj (Visual Studio 2002-2008) file formats.

At the time of writing .dsp (Visual Studio 6) project files are not supported.

Files

The files managed by a Visual Studio project are C and C++ source files, C and C++ header files and resource files. We've also added some file extensions that are not typically used by Microsoft, just in case someone is using these variants with Visual Studio. A full list of supported file extensions is shown below.

Source file extensions

c

cc

cpp

cxx

cp

c++

Header file extensions

h

hh

hpp

hxx

inl

Resource file extensions

bmp

cur

ico

Errors

The types of errors detected by Visual Studio Project Fixer are:

·Missing Files

·Incorrect case files

·Incorrect Files

·Files that don't exist

·Obsolete files

·.tlog files

Visual Studio Project Fixer gives you complete control over what type of errors you detect and also over what type of errors you choose to fix. You can do this automatically from the command line or have a more interactive experience via the user interface.

Missing Files

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.

Incorrect Case Files

These are files that are in the project, and that exist on disk, but the case of the names in the project doesn't match the case of the names on disk.

Incorrect Files

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

These are files that don't exist.

For example a file ..\..\testCode\usefulConstants.h. This file once existed but has been deleted (or moved).

Obsolete files

These are files from a previous version of Visual Studio.

For example WinHelp files from Visual Studio 6.

.tlog files

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.

Filters and backups

Backups

Visual Studio Project fixer automatically creates backups of any modified project. The backup has the date and time as part of it's filename, so it's easy to go back to a particular version.

The default setting is that backups are when projects are saved. You can change this value from the settings dialog.

Filters

To prevent applying any of the fixes to specific files in a project file, Visual Studio Project Fixer provides a filter system to allow you to identify filenames that should be ignored when found in a project file.

Moved projects

We have added an option to prevent modifying Visual Studio projects that have been moved. We detect a moved project by identifying source files that don't exist. The reason for this is that a source file that doesn't exist will not compile and the build will fail, whereas a header or resource file that doesn't exist (unless it's referenced by another file) will not cause the build to fail, although it may cause Visual Studio to think the build is out of date.

The default setting is that moved projects are not modified. You can change this value from the settings dialog.


The menu

Navigation: »No topics above this level«

The menu

 Return to chapter overview

The Visual Studio Project Fixer has four sections, File, Edit, Software Updates and Help.


File

Navigation: The menu >

File

 Return to chapter overview

The File menu controls the loading and saving of groups of Visual Studio projects.

File menu instructionStep Open Visual Studio Project... instructionStep loads a Visual Studio Project and analyzes the project, adding it to the list of analyzed projects.

File menu instructionStep Open Visual Studio Solution... instructionStep loads a Visual Studio Solution and analyzes the solution and the projects it contains, adding the projects to the list of analyzed projects.

File menu instructionStep Scan all Visual Studio Projects in Directory... instructionStep scan a directory hierarchy, analyzing every Visual Studio Project that is found. Each project is added to the list of analyzed projects.

File menu instructionStep Scan all Visual Studio Solutions in Directory... instructionStep scan a directory hierarchy, analyzing every Visual Studio Solution and the projects the solution contains. Each project is added to the list of analyzed projects.

File menu instructionStep Save Project instructionStep saves the selected Visual Studio Project.

File menu instructionStep Save All Projects instructionStep saves all Visual Studio Projects.

File menu instructionStep Close Project instructionStep close the selected Visual Studio Project.

File menu instructionStep Close All Projects instructionStep closes all Visual Studio Projects.

File menu instructionStep Exit instructionStep closes Visual Studio Project Fixer.


Edit

Navigation: The menu >

Edit

 Return to chapter overview

The Edit menu controls editing the settings, and enabling of diagnostic information in Visual Studio.

Edit menu instructionStep Settings instructionStep displays the settings dialog.

Edit menu instructionStep Visual Studio diagnostic information...

Edit menu instructionStep Visual Studio diagnostic information instructionStep Enable diagnostic information instructionStep makes changes to how Visual Studio reports diagnostic information.

Edit menu instructionStep Visual Studio diagnostic information instructionStep Show all items instructionStep adds all items to the output including debug messages from Visual Studio via OutputDebugString().

Edit menu instructionStep Visual Studio diagnostic information instructionStep Show only items related to build incomplete messages instructionStep adds all items to the output excluding debug messages from Visual Studio via OutputDebugString().


Software Updates

Navigation: The menu >

Software Updates

 Return to chapter overview

The Software Updates menu controls how often software updates are downloaded.

If you've been notified of a new software release to Visual Studio Project Fixer or just want to see if there's a new version, this feature makes it easy to update.

menu Software Updates menu instructionStep Check for software updates instructionStep checks for updates and shows the software update dialog if any exist

An internet connection is needed to be able to make contact with our servers.

note Before updating the software, close the help manual, and end any active session by closing target programs.

If no updates are available, you'll just see this message:

Software Update dialog

If a software update is available for Visual Studio Project Fixer you'll see the software update dialog.

·Download and install instructionStep downloads the update, showing progress

Once the update has downloaded, Visual Studio Project Fixer will close, run the installer, and restart.

You can stop the download at any time, if necessary.

·Don't download... instructionStep Doesn't download, but you'll be prompted for it again next time you start Visual Studio Project Fixer

·Skip this version... instructionStep Doesn't download the update and doesn't bother you again until there's an even newer update

·Software update options... instructionStep edit the software update schedule

Problems downloading or installing?

If for whatever reason, automatic download and installation fails to complete:

·Download the latest installer manually from the software verify website.

Make some checks for possible scenarios where files may be locked by Visual Studio Project Fixer as follows:

·Ensure Visual Studio Project Fixer and its help manual is also closed

·Ensure any error dialogs from the previous installation are closed

You should now be ready to run the new version.

Software update schedule

Visual Studio Project Fixer can automatically check to see if a new version of Visual Studio Project Fixer is available for downloading.

menu Software Updates menu instructionStep Configure software updates instructionStep shows the software update schedule dialog

The update options are:

·never check for updates

·check daily (the default)

·check weekly

·check monthly

The most recent check for updates is shown at the bottom.

Software update directory

It’s important to be able to specify where software updates are downloaded to because of potential security risks that may arise from allowing the TMP directory to be executable. For example, to counteract security threats it's possible that account ownership permissions or antivirus software blocks program execution directly from the TMP directory.

The TMP directory is the default location but if for whatever reason you're not comfortable with that, you can specify your preferred download directory. This allows you to set permissions for TMP to deny execute privileges if you wish.

menu Software Updates menu instructionStep Set software update directory instructionStep shows the Software update download directory dialog

An invalid directory will show the path in red and will not be accepted until a valid folder is entered.

Example reasons for invalid directories include:

·the directory doesn't exist

·the directory doesn't have write privilege (update can't be downloaded)

·the directory doesn't have execute privilege (downloaded update can't be run)

note When modifying the download directory, you should ensure the directory will continue to be valid. Updates may no longer occur if the download location is later invalidated.

·Reset instructionStep reverts the download location to the user's TMP directory

The default location is c:\users\[username]\AppData\Local\Temp


Help

Navigation: The menu >

Help

 Return to chapter overview

The Help menu controls displaying this help document and displaying information about Visual Studio Project Fixer.

Help menu instructionStep About Visual Studio Project Fixer... instructionStep displays information about Visual Studio Project Fixer.

Help menu instructionStep Readme and Version History... instructionStep displays the readme and version history.

Help menu instructionStep Help Topics... instructionStep displays this help file.

Help menu instructionStep Help PDF... instructionStep displays this help file in PDF format.

Help menu instructionStep Help on softwareverify.com... instructionStep display the Software Verify documentation web page where you can view online documentation or download compiled HTML Help and PDF help documents.

Help menu instructionStep Blog... instructionStep display the Software Verify blog.

Help menu instructionStep Library... instructionStep display the Software Verify library - our best blog articles grouped by related topics.

Help menu instructionStep Contact customer support... instructionStep displays the options for contacting customer support.

Click a link to contact customer support.

Help menu instructionStep How do I?... instructionStep displays the options for asking us how to do a particular task.


The graphical user interface

Navigation: »No topics above this level«

The graphical user interface

 Return to chapter overview

Visual Studio Project Fixer provides a graphical user interface to allow you to perform interactive tests of your Visual Studio project files.

You can load individual projects, load all projects in a solution, load all projects in a directory hierarchy, or load all projects referenced by all solutions in a directory hierarchy.

Visual Studio Projects are scanned for errors based on criteria specified in the settings.

The results of project scans can be inspected and either discarded or modified according to your wishes then saved.


The user interface

Navigation: The graphical user interface >

The user interface

 Return to chapter overview

The Visual Studio Project Fixer user interface is split into two sections:

·Projects

·Information about the selected project

Projects

The projects windows lists every project that was read during the last scan for Visual Studio projects.

The first entry in the list is a summary entry for all projects. Selecting this entry displays overview statistics in the right hand panel.

Selecting any project displays statistics for that projects in the right hand panel.

Project error status is indicated by colour, with projects containing higher status error conditions displaying that colour.

Projects that are modified are displayed with a * prefix and a red background.

The projects grid has a context menu to allow you easy access to projects (and the solution that contains them).

Edit Project...

The project file that owns this project configuration is opened in Notepad.

Open Project in Visual Studio...

The project file that owns this project configuration is opened in Visual Studio.

Open Project Folder...

The directory that contains the project file that owns this project configuration is opened in Windows Explorer.

Edit Solution...

The solution file that own this project is opened in Notepad.

Open Solution in Visual Studio...

The solution file that owns this project is opened in Visual Studio.

Open Solution Folder...

The directory that contains the solution file that owns this project is opened in Windows Explorer.

Filter Solution

The solution file name is added to the list of solutions that will be ignored the next time your scan your disk looking for Solutions.

Filter Project

The project file name is added to the list of projects that will be ignored the next time your scan your disk looking for Solutions and Projects.

Delete Project

The project is deleted from the list of projects. Unlike closing a project (File menu) there is no confirmation for deleting a modified project - it will be deleted without any changes written back to the project file.

Project Information

All Projects summary

When the All Projects entry is selected in the projects list the summary displays information for all projects in the list. The Fix All Projects button is displayed.

Project summary

When a project is selected in the projects list the summary displays information for just that project. The number of tabs changes to include additional data tabs per project.

The Summary display changes to identify the project filename and display statistics relevant to the project. The Fix Project button is displayed.

Project Missing Files

The Missing Files tab displays files that are missing from a project but which should be added to a project.

By default all entries are selected. The Select All and Deselect All buttons all you to make global changes to the selection status. You can change the status of each entry by clicking the check mark box next to entry.

The Add Filenames... button allows you add the selected entries to the project.

Project Incorrect Case Files

The Project Incorrect Case Files tab displays files that have a mismatch between the case of the name in the project file and the actual file on disk.

By default all entries are selected. The Select All and Deselect All buttons all you to make global changes to the selection status. You can change the status of each entry by clicking the check mark box next to entry.

The Fix Filenames... button allows you fix the selected entries in the project.

Project Incorrect Files

The Incorrect Files tab displays files that are incorrectly specified in a project.

By default all entries are selected. The Select All and Deselect All buttons all you to make global changes to the selection status. You can change the status of each entry by clicking the check mark box next to entry.

The Fix Filenames... button allows you fix the selected entries in the project.

Project Do Not Exist Files

The Do Not Exist Files tab displays files that are specified in a project but do not exist on disk.

By default all entries are selected. The Select All and Deselect All buttons all you to make global changes to the selection status. You can change the status of each entry by clicking the check mark box next to entry.

The Remove Filenames... button allows you to remove the selected entries from the project.

Project Obsolete Files

The Obsolete Files tab displays files that are incorrectly specified in a project.

By default all entries are selected. The Select All and Deselect All buttons all you to make global changes to the selection status. You can change the status of each entry by clicking the check mark box next to entry.

The Remove Filenames... button allows you to remove the selected entries from the project.

Project Filtered Files

The Filtered Files tab displays files that are ignored because of the filter settings.

By default all entries are selected. The Select All and Deselect All buttons all you to make global changes to the selection status. You can change the status of each entry by clicking the check mark box next to entry.

The Remove Filenames... button allows you to remove the selected entries from the project.

Project .tlog Files

The .tlog Files tab displays .tlog dependencies files that are in the directory hierarchy associated with this Visual Studio project.

By default all entries are selected. The Select All and Deselect All buttons all you to make global changes to the selection status. You can change the status of each entry by clicking the check mark box next to entry.

The Remove Filenames... button allows you to delete these files from disk.

Project File

The Project tab allows you to inspect the project file, plus any changes that can be made or have been made to the project. Any lines which can be changed or have been changed are identified in the status column. These lines are also colour coded.

Visual Studio OutputDebugString

The Visual Studio OutputDebugString tab displays debugging data that is output by Visual Studio.

Because Visual Studio outputs a lot of information via OutputDebugString it can be quite hard to identify information related to build status. The information that Visual Studio Project Fixer displays is only related to build status. All other information is not displayed.

The debugging output from Visual Studio needs to be enabled before you will see anything on this tab.


How to use Visual Studio Project Fixer

Navigation: The graphical user interface >

How to use Visual Studio Project Fixer

 Return to chapter overview

The way to use Visual Studio Project Fixer is to choose a project or solution that you wish to check for problems.

Solutions are parsed to identify the projects within them.

You can choose multiple projects and multiple solutions. Or you can scan disk hierarchies for projects and solutions.

Once you have chosen the projects to examine, you need to fix any problems you find using automatic fixing, semi automatic fixing or manual fixing.


Choosing the projects to fix

Navigation: The graphical user interface > How to use Visual Studio Project Fixer >

Choosing the projects to fix

 Return to chapter overview

Projects can be specified individually or loaded from solution files. You can load individual projects, individual solutions or scan directory hierarchies for projects and solutions.

Load one project

Choose the Open Visual Studio Project... option on the File menu.

Select a project file using the Microsoft file browser.

The project will be loaded even if the project matches an entry in the project filters list.

Load one solution

Choose the Open Visual Studio Solution... option on the File menu.

Select a solution file using the Microsoft file browser.

The solution will be loaded even if the solution matches an entry in the solution filters list.

Any projects in the solution will be filtered by entries in the project filters list.

Load many projects

Choose scan all Visual Studio Projects in Directory... option on the File menu.

A project scan dialog is shown that allows you to choose which directory hierarchy to search and which project types to process.

Select a directory and project types then click Scan.

Any projects found will be filtered by entries in the project filters list.

Load many solutions

Choose scan all Visual Studio Solutions in Directory... option on the File menu.

A solution scan dialog is shown that allows you to choose which directory hierarchy to search.

Select a directory then click Scan.

Any solutions found will be filtered by entries in the solution filters list.

Any projects in each solution will be filtered by entries in the project filters list.

Searching for Projects

One you have selected your project, solution or chosen a directory to start searching a scan progress dialog is displayed. This will display the name of the solution (if appropriate), the name of the current project being read, which stage the project analysis is at and the name of the file currently being analysed inside the project.

ProjectScan

Once the scan is complete the OK button will be enabled.

If you accept the results by clicking OK, the scanned project results will be shown on the main display.


Fixing Projects

Navigation: The graphical user interface > How to use Visual Studio Project Fixer >

Fixing Projects

 Return to chapter overview

You can fix projects automatically, semi-automatically and manually. We're going to describe these topics here.

Automatic Fixing

If you're happy for Visual Studio Project Fixer to fix all errors found in all your project files just click Fix All Projects on the summary tab.

This option is only displayed if the All Projects entry on the project list is selected.

The Fix Project dialog will be displayed to confirm your choices.

Remember that project backups are created by default - you can always go back to the original backup if things go wrong (not that we expect them to!).

Semi Automatic Fixing

If you want to fix all errors in just one project, select that project in the project list, then click Fix Project on the summary tab.

The Fix Project dialog will be displayed to confirm your choices.

Remember that project backups are created by default - you can always go back to the original backup if things go wrong (not that we expect them to!).

Manual Fixing

If you want to inspect errors for each project and then choose what to do then you need to take a different approach.

Select the project you wish to inspect from the project list.

For each of the tabs Missing Files, Incorrect Files, Do not Exist Files, Obsolete Files, Filtered Files, .tlog files you can select and deselect entries that will be affected by any modifications.

Each tab has an option that is appropriate to that tab (Add filenames, Remove filenames, Delete files, etc).

Missing Files

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.

Click Add Filenames... to add these files to the project.

Incorrect Case Files

These are files that are in the project, but the case of the filename in the project doesn't match the case of the file on disk.

For example a file ..\..\svlCommon\UIWORKPackage.h is listed, but the file name really is ..\..\svlCommon\uiWorkPackage.h

Click Fix Filenames... to fix these files in the project.

Incorrect Files

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

Click Fix Filenames... to fix these files in the project.

Files that don't exist

These are files that don't exist.

For example a file ..\..\testCode\usefulConstants.h. This file once existed but has been deleted (or moved).

Click Remove Filenames... to remove these files from the project.

Obsolete files

These are files from a previous version of Visual Studio.

For example WinHelp files from Visual Studio 6.

Click Remove Filenames... to remove these files from the project.

Filtered files

These are files that match the File Filters. You can modify the File Filters using the settings dialog.

Click Remove Filenames... to remove these files from the project.

.tlog files

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.

Click Remove TLOG Files... to delete these files from disk.


Enabling Visual Studio Debugging Output

Navigation: The graphical user interface >

Enabling Visual Studio Debugging Output

 Return to chapter overview

Visual Studio 2002, 2003, 2005, 2008

For versions of Visual Studio prior to Visual Studio 2010 it is not possible to enable Visual Studio debugging output.

Visual Studio 2010, 2012, 2013

For Visual Studio 2010, 2012 and 2013 a setting in the Devenv.exe.config file for each version of Visual Studio needs to be modified.

To enable Visual Studio debugging output choose the Enable diagnostic information... entry on the Edit > Visual Studio diagnostic information menu.

The Devenv.exe.config dialog is displayed.

Manual

To manually select a single Devenv.exe.config file to modify click I will choose the devenv.exe.config... button.

The Microsoft file browser will open to allow you to choose which Devenv.exe.config to modify.

A typical location for a Devenv.exe.config file is C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Devenv.exe.config

Automatic

If you want Visual Studio Project Fixer to find all Devenv.exe.config files (one per Visual Studio installation) choose the Find all Visual Studio devenv.exe.config button.

Visual Studio Project Fixer will search your program files directory for Visual Studio installs of Visual Studio 2010, 2012, 2013.

When all appropriate config files have been found a helper program will be launched to modify these config files.

This helper program requires administrator privileges - you will be asked to confirm that this program can run.

When the helper program has completed you will be shown a list of the config files that have been modified.

The helper program will not modify a config file that has already been modified

Devenv.exe.config backups

Backups of modified config files are have a data tag extension.

An example backup filename of Devenv.exe.config would be Devenv.exe.config-2017-01-19-14-12-54.

Visual Studio 2015, 2017

For versions of Visual Studio from 2015 onwards you don't need to do this, you can enable debugging output from the Visual Studio user interface.

To enable debugging output from the Visual Studio user interface do this.

Choose Options... from the Tools menu.

On the Options dialog, go to Projects and Solutions, choose Build and Run, then change the MSBuild project build output verbosity setting to Diagnostic then click OK.

When you try to run the software but Visual Studio complains the build is out of date and nothing is shown - you still get the build out of date dialog:

However, if in answer to the question posed by the dialog, you choose Yes, Visual Studio will try to build the project. With the diagnostic messages turned on, a lot of data is output, some of it relating to the build. Here's a screenshot with the relevant information highlighted.


Modifying the settings

Navigation: The graphical user interface >

Modifying the settings

 Return to chapter overview

The Settings dialog allows you to control the behaviour of Visual Studio Project Fixer.

To edit the settings, choose Settings... on the Edit menu.

The settings dialog is displayed.

Reset to Defaults

If you need to reset the settings to defaults click the large Reset button at the bottom left of the dialog.


Search Directory

Navigation: The graphical user interface > Modifying the settings >

Search Directory

 Return to chapter overview

The Search Directory settings allow you to configure how Visual Studio Project Fixer identifies projects that will be considered for building.

Directory

The directory that was most recently scanned (and which will be the default for the next scan) is shown in the Directory field. You can type a new directory name or the Microsoft directory chooser by clicking the Browse... button.

Visual Studio 2017 - 2010

If you wish to identify project files for Visual Studio 2017 - 2010 select the Process .vcxproj project files check box.

Visual Studio 2008 - 2002

If you wish to identify project files for Visual Studio 2008 - 2002 select the Process .vcproj project files check box.

Default settings

The default settings only consider projects with a .vcxproj extension. These are projects from Visual Studio 2010 onwards.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Source File Extensions

Navigation: The graphical user interface > Modifying the settings >

Source File Extensions

 Return to chapter overview

The Source File Extensions settings allow you to configure how Visual Studio Project Fixer identifies source files in a project.

The recognized source file extensions are displayed in the list.

To remove an item, select it then click Remove.

To clear the list, click Remove All.

To add an item, click the Add... button which will display the File Extension dialog.

To reset back to the default source file extensions, click the Set Defaults button.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Header File Extensions

Navigation: The graphical user interface > Modifying the settings >

Header File Extensions

 Return to chapter overview

The Header File Extensions settings allow you to configure how Visual Studio Project Fixer identifies header files in a project.

The recognized source file extensions are displayed in the list.

To remove an item, select it then click Remove.

To clear the list, click Remove All.

To add an item, click the Add... button which will display the File Extension dialog.

To reset back to the default header file extensions, click the Set Defaults button.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Resource File Extensions

Navigation: The graphical user interface > Modifying the settings >

Resource File Extensions

 Return to chapter overview

The Resource File Extensions settings allow you to configure how Visual Studio Project Fixer identifies resource files in a project.

The recognized resource file extensions are displayed in the list.

To remove an item, select it then click Remove.

To clear the list, click Remove All.

To add an item, click the Add... button which will display the File Extension dialog.

To reset back to the default resource file extensions, click the Set Defaults button.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Data Protection

Navigation: The graphical user interface > Modifying the settings >

Data Protection

 Return to chapter overview

The Data Protection settings allow you to configure how Visual Studio Project Fixer protects existing projects and data in modified projects.

Save Modified Projects

Visual Studio Project Fixer will confirm the saving of any modified projects. If you wish to save projects without confirmation disable the Confirm saving of modified projects checkbox.

Project Backups

Visual Studio Project Fixer will make a backup of a modified project. If you wish not to create backup projects disable the Make backups of projects before saving modified project checkbox.

Project backups have the same name as the original project with an additional date tag.

For example tabserv.vcxproj would become tabserv.vcxproj-207-01-19-13-03-58

Moved Projects

Visual Studio Project Fixer will not modify any projects that have been moved.

Visual Studio Project Fixer detects projects that have been moved by looking for source files that are listed in the project but which don't exist. We use this criteria because if source files don't exist the project can't compile, whereas header files and resource files that don't exist will not necessarily cause a project to fail to compile. Because it doesn't make sense to use Visual Studio Project Fixer on a project that can't compile we assume that the project is no longer in use and has been moved.

To allow Visual Studio Project Fixer to work with moved projects disable the Do not modify moved projects checkbox.

Visual Studio Project Cleaner

After fixing a project (or many projects) a message is displayed warning that some projects may need to be cleaned with Visual Studio Project Cleaner if they continue to display the "This project is out of date" warning.

You can prevent this message from being displayed by disabling the Show Visual Studio Project Cleaner message after fixing a project checkbox.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Problem Detection

Navigation: The graphical user interface > Modifying the settings >

Problem Detection

 Return to chapter overview

The Problem Detection settings allow you to configure how Visual Studio Project Fixer identifies project problems that need fixing.

Problem Detection

Visual Studio Project Fixer can detect a variety of different errors. By default detection of all error types is enabled.

·Missing Files

·Incorrect Files

·Files that don't exist

·Obsolete files

·Filtered files

·.tlog files

Select the appropriate check box the error detections that you are interested in.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Colours

Navigation: The graphical user interface > Modifying the settings >

Colours

 Return to chapter overview

The Colours settings allow you to configure how Visual Studio Project Fixer assigns colours to different build statuses.

The main user interface displays the build status using colour. This allows you to glance at the display from across the room and know if there is a problem with the the build or not.

For each colour, you can type a colour name or a hexadecimal RGB colour number (prefixed with #), or use the combo box to choose a predefined colour name, or you can click Edit... to use the Microsoft Colour Chooser dialog.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Solution Filters

Navigation: The graphical user interface > Modifying the settings >

Solution Filters

 Return to chapter overview

The Solution Filters settings allow you to configure when Visual Studio Project Fixer will ignore a solution rather than process it to discover projects.

In some situations there may be solution files that you don't want processed. To prevent these from being processed we allow you to specify these files as filters.

Visual Studio Project Fixer will ignore any solutions listed in the Solutions Filters when scanning for solutions. Manually specified solutions will always load. By default there are no solution filters.

To remove a filter, select it then click Remove.

To clear the list, click Remove All.

To add a filter, click the Add... button which will display the Microsoft File Chooser.

To reset back to the default solution filters, click the Set Defaults button.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Project Filters

Navigation: The graphical user interface > Modifying the settings >

Project Filters

 Return to chapter overview

The Project Filters settings allow you to configure when Visual Studio Project Fixer will ignore a project rather than process it to discover projects.

In some situations there may be project files that you don't want processed. To prevent these from being processed we allow you to specify these files as filters.

Visual Studio Project Fixer will ignore any projects listed in the Project Filters when scanning for projects. Manually specified projects will always load. By default there are no project filters.

To remove a filter, select it then click Remove.

To clear the list, click Remove All.

To add a filter, click the Add... button which will display the Microsoft File Chooser.

To reset back to the default project filters, click the Set Defaults button.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


File Filters

Navigation: The graphical user interface > Modifying the settings >

File Filters

 Return to chapter overview

The File Filters settings allow you to configure when Visual Studio Project Fixer will ignore a file rather than flag that it needs fixing.

In some situations there may be header files that are part of the project but which you don't want listed in the project file. To prevent these showing up as errors that need to be fixed we allow you to specify these files as filters.

Visual Studio Project Fixer will ignore any files listed in the File Filters when detecting errors. By default there are no file filters.

To remove a filter, select it then click Remove.

To clear the list, click Remove All.

To add a filter, click the Add... button which will display the Microsoft File Chooser.

To reset back to the default file filters, click the Set Defaults button.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Fix Projects

Navigation: The graphical user interface >

Fix Projects

 Return to chapter overview

Once you have identified problems in a project or projects you will probably want to fix them.

You could work your way through the list of errors and fix them manually. That would be hard work and time consuming.

Or you could allow Visual Studio Project Fixer to fix the problems for you. A backup file will be made if you've requested it, you don't need to worry about your project file being permanently altered or damaged.

The summary page for all projects has a Fix All Projects... button.

The summary page for each project has a Fix Project... button.

If you click the Fix All Projects... or Fix Project... button on the Summary page of any project you will be shown the Fix All Projects or Fix Project dialog. These dialogs are essentially the same.

Select the issues you wish to fix then click Fix All Projects or Fix Project to modify the project accordingly.


Command line interface

Navigation: »No topics above this level«

Command line interface

 Return to chapter overview

Visual Studio Project Fixer provides a command line user interface to allow you to automate checks for errors in your project files.

Example 1

Scan the directory e:\om\c\projects for Visual Studio projects with both extensions .vcproj and .vcxproj, write a log of possible changes to e:\VSPFlog.txt.

No visual studio projects will be modified.

VisualStudioProjectFixer.exe /dir e:\om\c\projects /projects /vcxproj /vcproj /log e:\VSPFlog.txt /warnOnlyDoNoChange

Example 2

Scan the directory e:\om\c\projects for Visual Studio solutions, load every project mentioned in each solution (if the project has a .vcxproj extension), identify all possible problems, fix all possible problems, save the projects, making a backup of each project.

VisualStudioProjectFixer.exe /dir e:\om\c\projects /solutions /vcxproj /detectAll /fixAll /noPromptForSave /makeBackups


Projects and Solutions

Navigation: Command line interface >

Projects and Solutions

 Return to chapter overview

Searching for Projects

/dir

Specify the directory hierarchy to search.

If the name contains spaces, it should be quoted.

Examples:

/dir e:\om\c\testApps

/dir "e:\om\c\dev workspace\mainBuild"

/projects

Projects will be searched for using the directory specified by the /dir command line argument.

This argument overrides any previous /solution argument.

/solutions

Solutions will be searched for using the directory specified by the /dir command line argument. The solutions will be loaded and the projects referenced in those solutions will be scanned.

This argument overrides any previous /project argument.

Visual Studio 2002, 2003, 2005, 2008

/novcproj

Project files with the file extension .vcproj will not be scanned.

/vcproj

Project files with the file extension .vcproj will be scanned.

Visual Studio 2010, 2012, 2013, 2015, 2017

/novcxproj

Project files with the file extension .vcxproj will not be scanned.

/vcxproj

Project files with the file extension .vcxproj will be scanned.

Moved Projects

/doModifyMovedProjects

Project files that have been moved will be scanned and modified.

/doNotModifyMovedProjects

Project files that have been moved will not be scanned and modified.

Project Backups

/makeBackups

Project files that have been modified will have a backup saved prior to modification.

/noBackups

Project files that have been modified will not have a backup saved prior to modification.

Saving Projects

/promptForSave

When a project has been modified you will be prompted to confirm that it is OK to save the modified project.

/noPromptForSave

When a project has been modified you will not be prompted to confirm that it is OK to save the modified project.


Logging

Navigation: Command line interface >

Logging

 Return to chapter overview

Logging of (potential) modifications to projects

/log

Specify the name of the file to write a log of changes to.

If the name contains spaces, it should be quoted.

Examples:

/log e:\om\c\testApps\test.log

/log "e:\om\c\dev workspace\mainBuild\test.log"

/warnOnlyDoNoChange

Do not change any projects, just list the possible changes in the log file.


Problem detection

Navigation: Command line interface >

Problem detection

 Return to chapter overview

/detectAll

Detect all possible error conditions.

/detectDefault

Reset the detection settings to the default.

/detectDoesNotExist

Detect files that are listed in a project but which don't exist.

/detectFiltered

Detect files that are filtered by the file filters.

/detectIncorrectCase

Detect files that have a mismatch between the case in a project file and filename case on disk.

/detectIncorrect

Detect files that are incorrectly specified in a project file.

/detectMissing

Detect files that are missing from a project file.

/detectObsolete

Detect files from obsolete version of Visual Studio.

/detectOff

Reset the detection settings to off. List this before any other /detect settings then list at least one /detect setting to detect just that one setting.

/detectTLOG

Detect .tlog dependency files.


Problem fixing

Navigation: Command line interface >

Problem fixing

 Return to chapter overview

/fixAll

Fix all possible error conditions.

/fixDefault

Reset the problem fixing settings to the default.

/fixDoesNotExist

Remove files that are listed in a project but which don't exist.

/fixFiltered

Fix files that are filtered by the file filters.

/fixIncorrectCase

Fix files that have incorrect case in a project file.

/fixIncorrect

Fix files that are incorrectly specified in a project file.

/fixMissing

Add files that are missing from a project file.

/fixObsolete

Remove files from obsolete version of Visual Studio.

/fixOff

Reset the problem fixing settings to off. List this before any other /fix settings then list at least one /fix setting to fix just that one problem.

/fixTLOG

Delete .tlog dependency files.


Solution Filters

Navigation: Command line interface >

Solution Filters

 Return to chapter overview

/addSolutionFilter

A solution filter will be added to the solution filters.

If the name contains spaces, it should be quoted.

Examples:

/addSolutionFilter e:\om\c\testSolution\testSolution\testSolution.sln

/addSolutionFilter "e:\om\c\test Solution\test Solution\testSolution.sln"

/deleteSolutionFilters

All solution filters will be deleted.

/resetSolutionFilters

The solution filters are set to the default.


Project Filters

Navigation: Command line interface >

Project Filters

 Return to chapter overview

/addProjectFilter

A project filter will be added to the project filters.

If the name contains spaces, it should be quoted.

Examples:

/addProjectFilter e:\om\c\testProject\testProject\testProject.vcxproj

/addProjectFilter "e:\om\c\test Project\test Project\testProject.vcxproj"

/deleteProjectFilters

All project filters will be deleted.

/resetProjectFilters

The project filters are set to the default.


File filters

Navigation: Command line interface >

File filters

 Return to chapter overview

/addFileFilter

A file filter will be added to the file filters.

If the name contains spaces, it should be quoted.

Examples:

/addFileFilter stdafx.h

/addFileFilter "a file with spaces.h"

/deleteFileFilters

All file filters will be deleted.

/resetFileFilters

The file filters are set to the default.


Source file extensions

Navigation: Command line interface >

Source file extensions

 Return to chapter overview

/addSourceFileExtension

A source file extension will be added to the list of source file extensions.

Examples:

/addSourceFileExtension c

/addSourceFileExtension cpp

/deleteSourceFileExtensions

All source file extensions will be deleted.

/resetSourceFileExtensions

The source file extensions are set to the default.


Header file extensions

Navigation: Command line interface >

Header file extensions

 Return to chapter overview

/addHeaderFileExtension

A header file extension will be added to the list of header file extensions.

Examples:

/addHeaderFileExtension h

/addHeaderFileExtension hpp

/deleteHeaderFileExtensions

All header file extensions will be deleted.

/resetHeaderFileExtensions

The header file extensions are set to the default.


Resource file extensions

Navigation: Command line interface >

Resource file extensions

 Return to chapter overview

/addResourceFileExtension

A resource file extension will be added to the list of resource file extensions.

Examples:

/addResourceFileExtension cur

/addResourceFileExtension ico

/deleteResourceFileExtensions

All resource file extensions will be deleted.

/resetResourceFileExtensions

The resource file extensions are set to the default.


Command Line Reference

Navigation: Command line interface >

Command Line Reference

 Return to chapter overview

Command line reference

The following alphabetical list provides a convenient look-up for all the command line arguments.

Option | Description
/? | Display the help message on the command line
/addFileFilter | Add a filter to the file filters
/addHeaderFileExtension | Add a header file extension to the list of recognised header file extensions
/addSourceFileExtension | Add a source file extension to the list of recognised source file extensions
/addResourceFileExtension | Add a resource file extension to the list of recognised resource file extensions
/deleteFileFilters | Delete all file filters
/deleteHeaderFileExtensions | Delete all header file extensions
/deleteSourceFileExtensions | Delete all source file extensions
/deleteResourceFileExtensions | Delete all resource file extensions
/detectAll | Detect all possible error conditions
/detectDefault | Detect the default list of error conditions
/detectDoesNotExist | Detect files that are specified in a project but which don't exist
/detectFiltered | Detect files identified by the files filter
/detectIncorrect | Detect files that are specified incorrectly
/detectMissing | Detect files that should be in a project but which are not
/detectObsolete | Detect obsolete Visual Studio files
/detectOff | Turn all problem detection options off
/detectTLOG | Detect .tlog dependency files
/dir | Specify the directory to search. Used with /projects and /solutions.
/doModifyMovedProjects | Do not modify moved projects
/doNotModifyMovedProjects | Modifying moved projects is allowed
/fixAll | Fix all problems detected
/fixDefault | Fix only the default problems detected
/fixDoesNotExist | Remove from a project any files classified as Do not exist
/fixFiltered | Remove from a project any filtered files
/fixIncorrect | Fix in a project any files classified as Incorrectly specified
/fixMissing | Add to a project any files classified as Missing
/fixObsolete | Remove from a project any files classified as Obsolete
/fixOff | Turn all problem fixing options off
/fixTLOG | Delete files identified as .tlog dependency files from disk
/help | Display the help message on the command line
/log | Specify the log file to save a log of actions (also see /warnOnlyDoNoChange)
/makeBackups | Make backups of modified projects
/noBackups | Don't make backups of modified projects
/noPromptForSave | Don't prompt before saving modified projects
/novcproj | Do not load .vcproj projects (also see /vcproj)
/novcxproj | Do not load .vcxproj projects (also see /vcxproj)
/projects | Scan for projects, not solutions
/promptForSave | Prompt before saving modified projects
/resetFileFilters | Reset the file filters
/resetHeaderFileExtensions | Reset the header file extensions
/resetSourceFileExtensions | Reset the source file extensions
/resetResourceFileExtensions | Reset the resource file extensions
/solutions | Scan for solutions, not projects
/vcproj | Load .vcproj projects (also see /novcproj)
/vcxproj | Load .vcxproj projects (also see /novcxproj)
/warnOnlyDoNoChange | Don't modify any projects, just identify what is wrong with each project. Use in conjunction with /log.

Run visualStudioProjectFixer.exe with the above command line arguments.