选取一个vs2013的解决方案文件.sln,以文本文档方式打开它。(我用的是sublime text 2,我认为是款代替记事本的不错工具,性感而小巧。有人从Notapad+转为用它,自有其价值吧。)工具
在文件开头咱们能够看到一些关键信息:spa
Format Version 12.003d
VisualStudioVersion = 12.0.21005.1orm
MinimumVisualStudioVersion = 10.0.40219.1ip
代表该.sln生成的格式版本是12.00(vs2013),vs版本是12.0.21005.1(vs2013),最小兼容版本是10.0.40219.1(vs2010)。文档
那也许把该解决方案改为10.0.40219.1以上都行吧?get
【版本区别】it
像我这样的新手请注意这里,Version 12.00意味着版本为vs2013而非vs2012,本文末最后已总结了vs版本中的该现象。下一步中改Format Version 为11.00而非10.00io
(2)修改.sln文件。编译
(3)从新打开
用VS2010打开修改后的解决方案文件,成功打开。
(4)编译
我想起vs2012和vs2010的平台工具集不一致,vs2012是v110,vs2010是v100,vs2013则是v120。我想先不去项目文件里查看,也许在加载解决方案的时候vs已经重置了平台工具集?因而尝试①直接编译。
编译失败,由于结果平台工具集未重置,本机上没有vs2013,找不到v120的平台工具集。同时,注意到,有“项目文件包含ToolsVersion="12.0" 设置……将项目视为具备ToolsVersion="4.0" 设置”。这彷佛是.Net的工具版本号,不修改的话会自动兼容。
③编译经过,运行成功。同时,ToolsVersion的版本号是被视为4.0了。
④去查找对应ToolsVersion的项目文件,修改之。