ããéåä¸ä¸ªvs2013ç解å³æ¹æ¡æ件.slnï¼ä»¥ææ¬ææ¡£æ¹å¼æå¼å®ãï¼æç¨çæ¯sublime text 2ï¼æ认为æ¯æ¬¾ä»£æ¿è®°äºæ¬çä¸éå·¥å ·ï¼æ§æèå°å·§ãæ人ä»Notapad+转为ç¨å®ï¼èªæå ¶ä»·å¼å§ãï¼
ããå¨æ件å¼å¤´æ们å¯ä»¥çå°ä¸äºå ³é®ä¿¡æ¯ï¼
ããFormat Version 12.00
ããVisualStudioVersion = 12.0.21005.1
ããMinimumVisualStudioVersion = 10.0.40219.1
ãã表æ该.slnçæçæ ¼å¼çæ¬æ¯12.00ï¼vs2013ï¼ï¼vsçæ¬æ¯12.0.21005.1(vs2013)ï¼æå°å ¼å®¹çæ¬æ¯10.0.40219.1(vs2010)ã
ããé£ä¹è®¸æ该解å³æ¹æ¡æ¹æ10.0.40219.1以ä¸é½è¡å§ï¼
ãããçæ¬åºå«ã
ããåæè¿æ ·çæ°æ请注æè¿éï¼Version 12.00æå³ççæ¬ä¸ºvs2013èévs2012ï¼æ¬ææ«æåå·²æ»ç»äºvsçæ¬ä¸ç该ç°è±¡ãä¸ä¸æ¥ä¸æ¹Format Version 为11.00èé10.00
ãã
ãã(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ç项ç®æ件,ä¿®æ¹ä¹ã
ãã
选取一个vs2013的解决方案文件.sln,以文本文档方式打开它。(我用的是sublime text 2,我认为是款代替记事本的不错工具,性感而小巧。有人从Notapad+转为用它,自有其价值吧。)
在文件开头我们可以看到一些关键信息:
Format Version 12.00
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
表明该.sln生成的格式版本是12.00(vs2013),vs版本是12.0.21005.1(vs2013),最小兼容版本是10.0.40219.1(vs2010)。
那也许把该解决方案改成10.0.40219.1以上都行吧?
【版本区别】
像我这样的新手请注意这里,Version 12.00意味着版本为vs2013而非vs2012,本文末最后已总结了vs版本中的该现象。下一步中改Format Version 为11.00而非10.00
(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的项目文件,修改之。