37

What is the difference between a .vcproj and a .vcxproj Visual Studio project file? Is the .vcproj format only available in versions of Visual Studio prior to 2010?

I ask because I am reading an MSDN tutorial dated 10/12 which says to insert text into a certain area of the .vcproj file that doesn't exist in the .vcxproj file. Trying to put the text in a similar area breaks the project.

Kevin Panko
  • 7,844
  • 19
  • 46
  • 58
user987280
  • 1,468
  • 1
  • 12
  • 21
  • Out of curiosity, what tutorial are you watching that asks you to modify the vc(x)proj by hand? – Borgleader Dec 02 '12 at 03:25
  • The .vcproj and .vcxproj file formats are really completely different. That's why they changed the names. What works with a .vcproj file will not work with a .vcxproj file. – librik Dec 02 '12 at 03:31

1 Answers1

38

Build System Changes

Project files no longer use the .vcproj file name extension. Visual Studio automatically converts project files that were created by an earlier release of Visual C++ to the format that is used by the current system. For more information about how to manually upgrade a project, see /Upgrade (devenv.exe).

The MSBuild system is used to build Visual C++ projects. However, in Visual Studio 2008 and earlier releases, the VCBuild system was used. Certain file types and concepts that depended on VCBuild either do not exist or are represented differently in the current system.

In the current release, the file name extension for a project file is .vcxproj.

Here is your answer: it has been changed from .vcproj to .vcxproj

Community
  • 1
  • 1
Garry
  • 4,243
  • 4
  • 28
  • 43
  • Hmm. I guess the tutorial is outdated even though it has a build date of 10/12. :( – user987280 Dec 02 '12 at 03:39
  • Basically, `.vcproj` is used by the old VCBuild system, and `.vcxproj` is used by the new XML based MSBuild system. – Kevin Panko Oct 10 '14 at 20:22
  • 3
    "No longer"? ..."Current system"? ...Can you please be clear at what point the change occurred ...Eg. "?VS2010? was the last version to us vcproj, all later versions use vcxproj" – BlueChip Oct 15 '15 at 15:13
  • 1
    @BlueChip "The MSBuild system is used to build Visual C++ projects. However, in Visual Studio 2008 and earlier releases, the VCBuild system was used." – Chiel ten Brinke Oct 27 '15 at 10:13