虽然一路追随这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的工程的更多相关文章

  1. [转]Caffe在Linux下的安装,编译,实验

    Caffe在Linux下的安装,编译,实验  原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...

  2. [zhuan] linux 下 wxWidgets 安装,编译

      http://blog.csdn.net/yuzhenxiong0823/article/details/7727133 wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GT ...

  3. Ubuntu下Eclipse安装与编译ns-3遇见的各种问题

    感觉Eclipse比其它东西装起来麻烦多了. 问题拾遗 (1)安装 这一块倒是没有什么大的问题,Linux操作系统也不需要像在Windows操作系统下下一些必须的东西(比如CDT等等).安装好了JDK ...

  4. 虚拟机Ubuntu系统下kaldi安装与编译简介

    kaldi官网:http://www.kaldi-asr.org/doc/index.html 在http://github.com/kaldi-asr/kaldi中直接下载kaldi的zip包,没有 ...

  5. VS2005下如何安装配置编译Qt4.6

    本文将使用简单的几个步骤说明在VC 2005下如何编译安装并开发Qt4.6应用程序,其实大部分方法和Qt4.6.0是一样的,不过Qt4.6.0集成了Qt Creater,目录的形式有点改变了,现在我就 ...

  6. ACE在Ubuntu下的安装和编译

    之前写了很多linux下的底层网络API的demo,这些demo可用于了解底层的网络通信过程,但是想做出好的服务器用于实际业务还是非常困难的,需要大量的代码实现,移植性也非常差,想要写出高性能架构的服 ...

  7. 【caffe】caffe在linux环境下的安装与编译

    网上的caffe的安装教程繁杂而散乱,对初学者很不友好,尤其对该框架理解不深的童鞋.总的来说,caffe的安装不外乎几个固定的步骤,对每一步有了一定的理解,安装只是time-consuming的问题! ...

  8. linux 下 mysql 安装(不用编译的方式)

    环境是centos6.x.相信其他的也大同小异.相对来说这种方式我用的比较多. 一些环境依赖表库: yum install perl yum install libaio 1)下载:在mysql的网站 ...

  9. VS2010编译以前版本工程时 ERROR CVT1100:duplicate resource,type:MANIFEST解决办法

    1.将 Resource Files 里面的 *.exe.manifest 文件删除 2.右键选择 *.rc 文件,选择 view code,查找并删除所有引用 *.exe.manifest 文件的代 ...

随机推荐

  1. 解决WCF大数据量传输 ,System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接

    开发中所用的数据需要通过WCF进行数据传输,结果就遇到了WCF大量传输问题 也就是提示System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接 网上解决 ...

  2. [转载] python+Eclipse+pydev环境搭建

    转自:http://www.cnblogs.com/Bonker/p/3584707.html 编辑器:Python 自带的 IDLE 简单快捷, 学习Python或者编写小型软件的时候.非常有用. ...

  3. Int.Parse()、Convert.toInt32()和(int)区别

    通过网上的查询从而了解了Int.Parse().Convert.toInt32()和(int)区别. 一.定义上的差别 int类型表示一种整型,.NET Framework 类型为 System.In ...

  4. C++ 为什么要用覆盖(学习笔记)

    长篇大论这里就不说了,举个例子class fruit{public: void func() { printf("fruit\n"); } virtual void vfunc() ...

  5. 求职基础复习之快速排序c++版

    #include<iostream> using namespace std; int partition(int a[],int p,int q){ int x = a[q]; ; fo ...

  6. Dictionary<实体,List<实体>>的比较

    当Dictionary中Key为实体时,进行用ContainsKey比较会发现,就算Model为一样但是结果比较为不存在: 故用以下代码即可,现将Keys转换ToArray(),再用数组的Contai ...

  7. PHP中的替代语法

    今天看了一下wordpress的代码,里面有些少见的php替代语法, <?php else : ?> <div class="entry-content"> ...

  8. MySQL 主从架构配置详解

    无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能.MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写 ...

  9. 10个专属于移动app开发者的最佳移动JavaScript框架

    1.Titanium Mobile JavaScript Frameworks Titanium Mobile JavaScript框架是移动应用开发者(Android & iOS)首选的最优 ...

  10. HDU 1312 http://acm.hdu.edu.cn/showproblem.php?pid=1312

    #include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #de ...