VS2008工程->VS2005工程
一直用的VS2008环境给小蠕虫编控制程序。新加进来的Elmo控制器自带的API却只支持2005以下的环境。咱干脆自己编一个通信接口好了,对象字典神马的都自己定义个——木时间。。好吧,那就只好给编好大半的程序降级了。好在也不算麻烦。
1. 用记事本打开.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
2. 找到.vcproj 文件,用记事本打开,将
Version="9.00"
修改为
Version="8.00"
搞定~
暂时还没遇到网上说的其他问题,在这儿先备个份。
http://blog.sina.com.cn/s/blog_6f18067d0100rtbm.html
VS2005开发WinCE6.0应用程序 更换SDK后工程的移植
(2011-05-06
10:55:19)
标签: it
|
分类: 学习园地 |
在应用VS2005开发嵌入式应用程序的时候,一旦平台的SDK发生改变,原先的应用程序就打不开了。搞的偶是非常郁闷,一旦添加了或者更改了驱动程序,重新导出平台SDK以后都要重新建工程,再把代码拷贝到新的工程中,非常的费时费力,还老是出错。现在这个问题终于解决了,O(∩_∩)O~,以后就没有那么费力了哦
比如,我原来有一个工程为EBIAccess,用VS2005打开工程的时候,选择EBIAccess.sln,
{
sln:在开发环境中使用的解决方案文件。
他是一个或多个.proj(项目)的集合,用vs2005 时就会自动生成这样一个工程文件。
solution的缩写
}
开发环境会提示你不可用。
在EBIAccess上 点击右键,选择编辑EBIAccess.vcproj,
搜索关键字SDK(你原先SDK的名字),全部替换TestForSdkChange(新的SDK的名字),完成后保存
关闭该文件
右键点击
EBIAccess
选择重新加载项目就可以了。
这时候你就可以发现原来的工程就导入进入了,可以编译了。
调试的时候可能会出现错误,提示
无法启动程序,找不到指定的文件。
不要着急,这个时候执行一下 生成菜单下的部署EBIAccess就可以了,
必要的时候执行一下清理的选项,生成菜单下凡是带清理两个字的都执行一遍就OK了
呜哈哈
http://topic.csdn.net/u/20090406/10/9a34f6fe-50a4-4411-80fe-3ec111f0744c.html
本文一直使用的是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 <afxcontrolbars.h> 这一行,这是在VS2008中 Control Bar 新的支持。
光修改上面的版本信息,对这个问题是没用的,仍然不能解决这个问题,因为这是利用了VS2008的新特征,无法在VS2005中解决,除非我们去掉这个特征。
步骤:
1. 把#include <afxcontrolbars.h> 注释掉。
2. 在VS2008中,应用程序文件(APP文件)是从 CWinAppEx中继承来的,如下:
class CMyApp : public CWinAppEx
而在VS2005中,都是从CWinApp中继承而来,这说明 .net 在2008版本中对这个类有新的修改和添加。
所以,我们只需要添加如下一行,
#define CWinAppEx CWinApp
仍然使用VS2005中的 CWinApp。
这样,这个问题就可以解决了。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ezhong的博客签名-------------------------------------
以上内容来自ezhong的博客园,作者:ezhong
ezhong的博客园: http://www.cnblogs.com/ezhong
感谢您的阅读。感谢您的分享。