达拉然的戒指在哪里买:VS2008工程转VS2005工程?侧记

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 16:17:54
http://blog.pfan.cn/miaowei/51192.html

VS2008工程 转 VS2005工程 侧记(2010-5-24 17:15:00)

本文一直使用的是VS.Net 2005环境。以前也接触了VS2008编译的应用程序,但是当时只需要执行,好像是下了个VS2008 distribution 包就可以了。没想到,今天来了个VS2008的解决方案,里面有10几个项目。并且必要要打开分析其源代码,可是又没有VS2008环境。 当然,在VS2005下是不可能直接能打开VS2008的项目的。 再说,咱又不能用盗版的,现在国家抓盗版这么严,连美国都要把咱们国家例如世界盗版观察国了,废话了。

转换步骤:

1. 找到解决方案文件, 即 .sln 文件。在记事本中打开

2. .sln

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008

修改为

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005

.vcproj

<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="wowmodelview" ProjectGUID="{DCA0C667-2A7A-4FCE-AD02-466F7A380E0C}" RootNamespace="wowmodelview" Keyword="Win32Proj" TargetFrameworkVersion="131072">

开头的这句把9.00改为8.00就可以了。

3. 如果解决方案中还有其他的项目的话,打开每个项目的 .vcproj 文件,将其中的

 Version="9.00"
改成

Version = "8.00"

 

以上,如果项目不是很复杂,且在VS2008中没有用到一些 新的特征的话,(如果用到了新的特征,需要安装 VC2008FeaturePack.exe)。一般来说,整个解决方案就可以正常打开,当然能否编译和链接还不能保证,可能还有一些其他问题。可以做相应的修改。

 

下面我想就我遇到的一个用了 VS2008特征的所碰到的问题进行说明。

相信在 stdafx.h文件中,大家可能在VS2008中经常会有

#include   这一行,这是在VS2008中 Control Bar 新的支持。

光修改上面的版本信息,对这个问题是没用的,仍然不能解决这个问题,因为这是利用了VS2008的新特征,无法在VS2005中解决,除非我们去掉这个特征。

步骤:

1. 把#include   注释掉。

2. 在VS2008中,应用程序文件(APP文件)是从 CWinAppEx中继承来的,如下:

 class CMyApp : public CWinAppEx

而在VS2005中,都是从CWinApp中继承而来,这说明 .net 在2008版本中对这个类有新的修改和添加。

所以,我们只需要添加如下一行,

#define CWinAppEx  CWinApp

仍然使用VS2005中的 CWinApp。

 

这样,这个问题就可以解决了。


(#)