First, Introduction
This tool automatically converts the VC7 project back to VC6 Engineering, in other words, converting the. sln/.vcproj two files to the. dsw/.dsp file.
Note: This converter only establishes (or overwrites) the. dsw/.dsp file during the conversion and does not change any source code.
Second, the Origin
First of all, of course, MS does not provide such tools, MS in the sale of development tools did not provide engineering back to the conversion function makes you feel very nerve-racking, and even began to hate Ms.
There is no such tool, although you can do it by rebuilding the project, but wasting time and bringing mistakes easily. In fact, this tool is useful in the following situations:
Someone gave you the VC7 project, but you only installed the VC6
You will upgrade the project from VC6 to VC7, and in your directory at the same time. DSW/.DSP and. sln/.vcproj files, and you want to keep these files synchronized so that you can open the project at any time without using the two versions of VC + +.
Provide two versions of the project (for example, when you share your code in CodeProject) without worrying about which version of the development tool the reader is using.
Third, how to use
Command-line form:
prjconverter <solutionname (full filepath)>[.sln]
For example:
prjconverter c:\tmp\betterxml\betterxml.sln
You can type Prjconverter.exe at the command line to get more information
Four, what has been converted
A few simple steps to figure out how this works, open the. sln solution file and convert to the. dsw file format, including all engineering definitions, dependencies, and source code control tags.
Then, with all. vcproj engineering files converted to. dsp files, I use MSXML to parse the. vcproj file format, create a metamodel (Meta-Model), and then convert all XML content to the standard. DSP symbol line.
Of course, we have to be careful with the configuration in the project (Debug,release,...) and the custom configuration.
V. Technical details
In the code, the slnprocess.cpp completes the conversion from. sln to. dsw. Vcprojprocess.cpp completes the conversion from. vcproj to. DSP.
Vcprojconfiguration.cpp contains all the engineering meta models (META-MODEL) (that is, all project setup options). In VC7, the meta model is programmable. You can view this link in fact, vcprojconfiguration.cpp is actually showing this meta model (Meta-Model, just like Ms's internal code)
Vi. Affirmation
This tool has been extensively tested prior to release (mfc/com/atl/console program, make file,...) , although I would like to know if there is room for improvement, I must make it clear that it is not my fault if your project was destroyed by the tool.
Download Project conversion Tool: HTTP://WWW.VCKBASE.COM/TOOLS/DOWNTOOLS.ASP?ID=108
Download source code: http://www.vckbase.com/code/downcode.asp?id=2076