本文转载自:http://blog.csdn.net/u011543589/article/details/25563351

今天要用VS2010打开VS2013,一直觉得VS2010到VS2012只是界面上扁平化的改变,平台工具集有改变但很大程度上可能向上兼容。在网上搜了一些文章,其中有一篇说到一个观点:

       从VS2010开始,VS使用统一的.sln作为解决方案文件,到目前为止,每个版本的升级只是平台工具集的升级和优化,而解决方案是完全兼容的。你可以用VS2013打开VS2010生成的解决方案,也可以用VS2010打开更高版本的VS2013生成解决方案

我的理解是,从VS2010开始,不再制作专有的文件格式,这只是一个xml格式的文本文件,其中决定了解决方案的平台工具集和VS版本。既然.sln只是个文本文件,重新设定其中指定的VS版本和平台工具集,也许可以用低版本打开高版本的解决方案。

那么就来尝试用vs2010来打开vs2013,以下是我的尝试记录,尝试中发现除了修改.sln后可以用vs2010打开vs2013,但还要修改项目的平台工具集以保证最好的兼容。

(1)直接打开

用VS2010打开VS2013生成的文件,产生如上提示。

选取一个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到VS2010的迁移。

【总结】

低版本VS打开高版本一般要修改的地方。

1、.sln文件中指定的VS版本号和平台工具集

2、修改项目文件中的平台工具集(v4.0→v12.0)

3、其它。

上述“其它”,主要指在配置中与环境变量有关的因版本改变而导致的路径改变,比如vs2010中的部分lib在 VS 安装目录下的 Microsoft SDKs\v7.x 中,在vs2012以后转移到了 VS 安装目录下的Windows Kits中VS 安装目录。注意区别。

在VS 2010中使用 VS2013的解决方案的更多相关文章

  1. 如何在VS 2010中使用 VS2013的解决方案(转)

    今天要用VS2010打开VS2013,一直觉得VS2010到VS2012只是界面上扁平化的改变,平台工具集有改变但很大程度上可能向上兼容.在网上搜了一些文章,其中有一篇说到一个观点:        从 ...

  2. 如何在VS 2010中使用 VS2013的解决方案

    今天要用VS2010打开VS2013,一直觉得VS2010到VS2012只是界面上扁平化的改变,平台工具集有改变但很大程度上可能向上兼容.在网上搜了一些文章,其中有一篇说到一个观点:        从 ...

  3. VS2013中使用git发布解决方案master分支的时候出现错误

    VS2013GIT基础用法请自行参考:不会Git命令,照样玩转Git 环境:VS2013+ 码云错误描述:在VS2013中使用git发布解决方案master分支的时候出现“无法将本地分支 master ...

  4. VS2010中打开VS2013/VS2012项目

    VS2010中打开VS2013/VS2012项目 (2014-04-03 23:47:53) 转载▼   分类: IT VS低版本打开高版本创建的项目时会提示"选择的文件是解决方案文件,但是 ...

  5. SharePoint Server 2010 中的基本任务

    SharePoint Foundation 和 SharePoint Server 概述 SharePoint Foundation 2010 是一项用于 SharePoint 网站的基础技术,它可以 ...

  6. 在 SharePoint 2010 中访问数据

    转:http://blog.banysky.net/?p=81001 数据访问的关键方法有哪些? | 使用查询类 | 使用 SPQuery | 使用 SPSiteDataQuery | 使用 LINQ ...

  7. SharePoint 2010中使用Visual Studio 2010进行方便快速的Web Part开发

    转:http://www.cnblogs.com/fatwhale/archive/2010/02/24/1672633.html 在Visual Studio 2010中,  已经集成了用于Shar ...

  8. 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

    原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...

  9. VSTO学习笔记(四)从SharePoint 2010中下载文件

    原文:VSTO学习笔记(四)从SharePoint 2010中下载文件 上一次我们开发了一个简单的64位COM加载项,虽然功能很简单,但是包括了开发一个64位COM加载项的大部分过程.本次我们来给CO ...

随机推荐

  1. C# 扩展方法 总结

    扩展方法是静态方法,它是类的一部分,但实际上没有放在类的源代码中. 设计一个Money类 public class Money { private decimal amount; public dec ...

  2. iOS学习笔记---c语言第九天

    高级指针 指向结构体变量的指针,称为结构体指针 可以使用->指向内容. %p打印地址 void pLenth(cPoint *p1,cPoint *p2) //求两点间的距离  用的开方函数sq ...

  3. 【字体区别】Serif和Sans Serif

    [字体区别]Serif和Sans Serif 在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和Serif,打字机体虽然也属于Sans Serif,但由于是等宽字体,所以另外独立出Mo ...

  4. Welcome to MacJournal!

    Welcome to MacJournal 6 To get started, create a new entry by clicking on "New Entry" in t ...

  5. 使用npoi.dll导出数据到excel

    .net数据导出excel数据有多种方法,最常用的就是使用office组件,但随之而来的问题也很棘手,又要调权限又要确定是否安装office很是麻烦,最近一个项目中也有数据导出功能,随使用excel模 ...

  6. magic矩阵

    魔方矩阵 魔方矩阵是有相同的行数和列数,并在每行每列.对角线上的和都相等.你能构造任何大小(除了2x2)的魔方矩阵. 1.历史       魔方又称幻方.纵横图.九宫图,最早记录于我国古代的洛书.据说 ...

  7. scala言语基础学习十一

    隐式转换 使用隐式转换加强现有的类型的功能-类似于设计模式的装饰模式

  8. hive学习笔记_hive的介绍与安装

    一.什么是Hive Hive是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据 ...

  9. Web服务器IPtables配置

    #允许SSH流量(重要) iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 222 -j A ...

  10. CentOS提示::unknown filesystem type 'ntfs'.解决

    在将硬盘插到Linux系统上,打开硬盘时一直提示:unknown filesystem type 'ntfs'.在尝试网上的方法也遇到了一些问题. 下面按照遇到的问题,按照正确的方式注意操作从而避免问 ...