程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> VC7到VC6工程的轉換工具

VC7到VC6工程的轉換工具

編輯:關於VC++

一、簡介

這個工具自動將VC7工程轉換回VC6工程,換言之,就是將.sln/.vcproj這兩個文件轉 換到.dsw/.dsp文件。

注意:本轉換器在轉換期間只是建立(或覆蓋).dsw/.dsp文件,並沒有改變任何源代 碼。

二、由來

首先當然是MS並沒有提供這樣的工具,MS在出售開發工具時並沒有提供工程回退的轉 換功能使你感到很傷腦筋,甚至開始憎恨MS。

沒有這樣的工具,雖然你可以通過重建工程來湊合,但浪費時間並容易帶來錯誤。事 實上,在如下情形時這個工具是很有用的:

有人給你VC7工程,但你只安裝了VC6

你將工程從VC6升級到VC7,在你的目錄下同時存在.dsw/.dsp和.sln/.vcproj文件,並 且你希望保持這幾個文件的同步,使你在不需要使用兩個版本VC++的情況下任何時候都可 以打開這個工程開始工作。

提供兩個版本的工程(例如你在CodeProject中共享你的代碼時),而不用擔心讀者使 用的是哪個版本的開發工具。

三、如何使用

命令行形式:

prjconverter <solutionname (full filepath)>[.sln]

例如:

prjconverter c:\tmp\betterxml\betterxml.sln

可以在命 令行鍵入prjconverter.exe獲取更多信息

四、轉換了什麼

簡單的幾步就可以清楚這是如何工作的,打開.sln解決方案文件並轉換到.dsw文件格 式,包括所有的工程定義,依存信息和源代碼控制標記。

然後,所有.vcproj工程文件轉換為.dsp文件,我使用MSXML來解析.vcproj文件格式, 另外創建元模型( meta-model),然後將所有XML內容轉換到標准的.dsp符號行。

當然,我們要小心處理項目中的配置(debug,release,...),還有自定義的配置。

五、技術細節

代碼中slnprocess.cpp完成從.sln到.dsw的轉換。vcprojprocess.cpp完成從.vcproj 到.dsp的轉換。

vcprojconfiguration.cpp包含了所有工程元模型(meta-model)(即所有工程設置選項 )。在VC7中元模型是可編程的。具體可以查看此鏈接 ,事實上vcprojconfiguration.cpp 就是展現了這種元模型(meta-model,就像MS的內部代碼)

六、申明

這個工具在發布之前已經經過廣泛的測試(MFC/COM/ATL/控制台程序,make文件,...) ,雖然我希望知道是否有可以改進的地方,但我必須清楚地申明如果你的工程被該工具破 壞並不是我的錯。

下載工程轉換工具:http://www.vckbase.com/tools/downtools.asp?id=108

下載源代碼:http://www.vckbase.com/code/downcode.asp?id=2076

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved