Visual Studio2003旧工程文件不能转化问题的解决

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Visual Studio.net 2003应该说是目前windows平台上最好用的开发平台之一了。但任何软件的升级过程中总会有遇到问题。

当我们从旧的Vs 6.0升级时,由于工程文件格式的转变,工程文件必须经过一个转化的过程。可是vs.net2003却有一个bug,给很多人带来了麻烦。

发现问题:

使用ptypes库时,只找到source,要自己编译成lib。看看文件夹结构,有一个win32目录里面有dsp(vs6.0的工程文件),于是欣然打开并选择转换可是遇到错误“引项目文件已损坏而无法打开”,FT。

寻找问题:

怎么找,正在怀疑为RPWT,偶然中习惯性的用记事本打开(见文末)发现出现很多奇怪的字符(方块状)。这些字符在打开

UNIX/LINUX下的文件时也看到过,莫非……

解决问题:

LINUX/UNIX下的换行符是0x0A,而windows下的是0x0D0A,问题可能出在这里。

动手验证一下猜想是否正确。我们自己写一个转换的程序(kow~,用不着吧)

#include <fstream>

#include <iostream>

using namespace std;

int main(int argc,char** argv){

if (argc !=2)exit(1);

ifstream ifs(argv[1],ios::binary);

char a;

while(ifs >> a){

if(static_cast<int>(a) == 0x0A)cout << static_cast<char>(0x0D)

<< static_cast<char>(0x0A);

cout << a;

}

}

使用方法:程序名 dsp文件名 > 新的dsp文件名

然后重新打开、转换,哈哈成功了。

后记:

嗬嗬,解决问题有时真的是偶然的灵感。

PS:

我有个习惯,就是在右键中添加一些常用功能,我的注册表文件如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\(&1)打开命令行]

@="(&1)打开命令行"

[HKEY_CLASSES_ROOT\*\shell\(&1)打开命令行\command]

@="cmd"

[HKEY_CLASSES_ROOT\*\shell\(&2)命令行执行]

@="(&2)命令行执行"

[HKEY_CLASSES_ROOT\*\shell\(&2)命令行执行\command]

@="cmd /c D:\\smalltools\\runwitharg.cmd %1"

[HKEY_CLASSES_ROOT\*\shell\(&3)记事本编辑]

@="(&3)记事本编辑"

[HKEY_CLASSES_ROOT\*\shell\(&3)记事本编辑\command]

@="notepad %1"

[HKEY_CLASSES_ROOT\*\shell\(&4)写字板编辑]

@="(&4)写字板编辑"

[HKEY_CLASSES_ROOT\*\shell\(&4)写字板编辑\command]

@="C:\\Program Files\\Windows NT\\Accessories\\wordpad.exe \"%1\""

[HKEY_CLASSES_ROOT\*\shell\(&5)用HexWorks编辑]

@="(&5)用HexWorks编辑"

[HKEY_CLASSES_ROOT\*\shell\(&5)用HexWorks编辑\command]

@="D:\\Hex Workshop 3.0\\hworks32.exe \"%1\""

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航