你好,我是reninjohn,来自VC++项目和构建团队的测试软件开发工程师。我知道有些人更喜欢通过命令提示符而不是IDE来完成日常工作。我想,如果我用我在测试项目转换中获得的知识,把同样的说明放在一起,会有所帮助。
要通过命令行执行Visual Studio早期版本(VC6到VS 2008)的升级,可以使用以下工具之一:
1. devenv.exe文件
2. VCUpgrade.exe
即使您正在考虑编写转换过程的脚本,它们也会派上用场。
1. DevEnv.exe文件:
与以前的版本一样,您可以使用devenv.exe命令进行升级:只需使用“/upgrade”开关调用它。devenv.exe的位置由VS 2010命令提示符窗口中的DevEnvDir环境变量指定。
命令 : a) 要升级解决方案文件: devenv.exe/升级<解决方案文件(.sln) >; 或
b) 升级项目文件: devenv.exe/升级<项目文件(.vcproj) >
此命令将在以下位置生成名为UpgradeLog.XML的日志文件(如果UpgradeLog.XML已存在,则为UpgradeLog2.XML;如果UpgradeLog
注意 :
(一) VC6不支持使用devenv.exe在命令行上进行转换。
(二) 由于devenv.exe命令在VC Express SKU中不可用,因此这种形式的转换在这里不适用。
因此,对于以上两种情况,您需要坚持使用VSIDE。但是,如果是针对单个项目文件,则可以选择使用VCUpgrade.exe(如下所述)。
2. VCUpgrade.exe
这是VS 2010中引入的新工具。它位于VS 2010命令提示符窗口中VS100COMNTOOLS环境变量指定的目录中。
它将包含在WinSDK的下一个版本中,因此用户将能够转换基于SDK的示例,即使他们没有安装devenv.exe,或者更确切地说,安装了visualstudio。
命令 : vcupgrade.exe<项目文件(.dsp/.vcproj)>
转换完成后,转换结果将显示在命令窗口中。
如果要重新转换项目文件,请使用“/overwrite”开关调用VCUpgrade,否则现有文件将不会被替换。
注意 : 此工具有一些限制,不能用于转换解决方案文件。建议仅用于单个项目文件:不包含项目到项目引用的文件,以及解决方案文件不包含项目依赖关系的文件,因为来自解决方案的此信息将在转换过程中丢失(这是因为在VS 2010中,解决方案依赖关系转换为项目到项目引用)。在其他情况下,请使用devenv.exe工具(前面解释过),这通常比VCUpgrade更受欢迎。
逆转升级:
(一) 如果您进行了解决方案文件升级:
转到包含解决方案的目录并运行:
删除*.vcxproj**.props
del*.sln升级日志*.XML
移动备份*.sln。
对于/F%%B in(’dir/B Backup*’),执行rd/S/Q%%B
rd/S/Q升级报告文件
(二) 如果进行了项目文件升级:
转到包含项目文件的目录并运行:
删除*.vcxproj**.props
删除升级日志*.XML
rd/S/Q升级报告文件
您只需将这些命令放入批处理文件中,并让它为您处理这些问题(如果在批处理脚本中,则将上面的%%B替换为%%%%B)。
注意 : 如果包含特定解决方案/项目的目录包含您不想删除的其他解决方案/项目文件,请相应地修改命令。另外,如果您的项目使用位于此目录之外的“.props”文件,请注意删除这些文件。
希望你喜欢这个博客。如果您有任何问题/意见,请告诉我。