|
Visual Studio2003旧工程文件不能转化问题的解决(1)
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)打开命令行]
|