码迷,mamicode.com
首页 > 其他好文 > 详细

在VS2012下不安装VS2010编译VS2010的工程

时间:2014-08-15 12:19:18      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:使用   os   io   for   ar   问题   服务器   .net   

虽然一路追随这VISUAL SUTDIO在编程,但是断档的情况还是有的,最近一次硬盘问题使得安装了所有的VS2003-VS2012的机器硬盘挂了,无奈只能够安装了,不过觉得没啥用了,就安装一个VS2012不就OK了嘛,不过因为VS2012对VS2010完美支持vcxproj,使得完全可能在VS2012中编译VS2010的工程,但是必须安装IDE,这太麻烦了,有人也提出了不安装VS2010进行工程编译的想法,不过最后也没有得出结论。

之前也有过研究,发现MSBUILD进行编译的需要一套“规则”,都是放在MSBuild/Microsoft.Cpp/v4.0下面,在VS2010的时候占用了整个目录,结果V110只能够单独用一个目录来存放差不多的东西了。如果从安装好VS2010的机器上放整个这个目录的内容,在VS2012里面切换编译器platformtoolset就可以看到有VisualStudio 2010的提示,开始还以为需要修改注册表的其实完全不用!

不过直接编译还是会报错,大概意思就是找不到Microsoft.Build.CppTasks.Common和之前看到的差不多了,也就是说这个需要注册,因为是.NET的,所以基本上就是放到GAC里面去,用gacutil -i就可以解决问题了(需要注意gacutil的版本,默认的话会使用低版本的gacutil会提示无法加载,其实用2012自带的gacutil即可,也可以用microsoft sdks下面的工具,只要是.NET4以上的),这下出错提示也改为找不到某些环境变量,其一是VCInstallDir,另外一个是WindowsSdkDir,这需要依靠注册表。从安装了VS2010的机器上来看,这些在HKLM/Software/Microsoft/VisualStudio/里面的10.0整个复制过来(很大的,6M,压缩一下吧),然后还有是HKLM/Software/Microsoft/Microsoft SDKs也整个复制过来,这下warning都没了,只有提示Microsoft.Build.CppTasks.Win32找不到,肯定还要注册,继续把MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32这个下面的也注册了,把x64也注册了。

这个时候CL和LINK还有WindowsSDK就绪(复制到经典目录下吧!)然后编译竟然就可以了!看来情况不是太复杂啊,另外编译结束的时候发现mt.exe不存在,这个估计是复制的目录选的不好,如果没有的话从VS2010那7.0A的bin下面复制到对应的目录下即可,注意.manifest啥的也需要~

 

另外查了一下关于MSBuild独立安装的资料,似乎只需要把Microsoft SDKs Windows安装完以后,就会有MSBuild安装完,即如果需要实现编译服务器无VS2010也是可能的!

在VS2012下不安装VS2010编译VS2010的工程,布布扣,bubuko.com

在VS2012下不安装VS2010编译VS2010的工程

标签:使用   os   io   for   ar   问题   服务器   .net   

原文地址:http://www.cnblogs.com/gc2013/p/3912426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!