VS2012 和 VS2013 解决方案之间是不是存在任何功能差异?

Posted

技术标签:

【中文标题】VS2012 和 VS2013 解决方案之间是不是存在任何功能差异?【英文标题】:Are there any functional differences between a VS2012 and VS2013 Solution?VS2012 和 VS2013 解决方案之间是否存在任何功能差异? 【发布时间】:2014-07-11 13:20:10 【问题描述】:

这个问题的标题可能有点复杂,所以让我更详细地解释一下。

我在一家公司工作,该公司最近要求将所有 VS2013 之前的项目和解决方案升级到 VS2013。在我最初的升级测试中,我注意到一些解决方案提示升级在 VS2013 下功能正常。

这些解决方案/项目通常会启动迁移向导并显示需要对项目进行非功能性更改才能在 VS2013 下运行的消息,只要之后没有出现错误,项目就可以毫无问题地编译和运行。

虽然有其他 VS2012 解决方案/项目不显示任何对话框,并且只是在 VS2013 下运行而没有问题。

我最初的假设是因为后者提到的项目没有被 VS2013 识别为具有任何需要更改升级的组件;他们只是在幕后升级,编译没有错误,然后简单地运行。

但在与公司主管进行了简短交谈并查看了解决方案文件后,似乎这些解决方案仍然是为 VS2012 而不是 VS2013 配置的。

以下是每个解决方案文件中的几行代码:

VS2013 Solution File
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30110.0

VS2012 Solution File
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

如您所见,VS2012 解决方案文件显示#Visual Studio 2012,而 VS2013 解决方案文件显示#Visual Studio 2013,并在文件中附加了一行说明 VisualStudioVersion = 12.0.30110.0

因此,关于此迁移工作的真正问题/担忧是:

    有什么方法可以将 VS2012 项目强制转换为 VS2013,而不是简单地在 VS2013 下打开项目/解决方案

    当 VS2012 在某些时候被 Microsoft 过时/弃用时,是否有任何潜在的警告需要考虑?例如。如果明天 VS2012 过时,在生产环境中运行的这些类型的项目是否存在潜在的问题?

我们的目标是让我们所有的项目和解决方案都迁移到 VS2013 并在 VS2013 下运行,以保持环境的连续性,并简单地取消任何 VS2013 之前的项目。

谢谢

【问题讨论】:

【参考方案1】:

在 VS2012 中首次添加了无需转换即可打开在早期 VS 版本中创建的项目的功能。根据大众的需求,如果不是所有团队成员都同时迁移,迁移到新的 VS 版本可能会非常痛苦。

没有必要为此烦恼,VS2013 只是在打开和保存这样的项目时没有任何问题。它也没有办法强制转换。在过去,它可以通过运行带有 /upgrade 选项的 devenv.exe 来完成。不确定这是否仍然有效,您必须尝试。我看到 SO 用户建议编辑项目文件,我确实认为这是个好主意。

当您添加以前版本中不支持的任何功能时,它自动提示您进行升级。除了 Windows Phone 8.0 项目之外,VS2013 很难举出这样的例子,VS2013 是 VS2012 的一个相对较小的增量。

【讨论】:

谢谢汉斯。我同意手动编辑项目文件似乎不是解决问题的理想方式,但我不确定是否有潜在影响,或者是否有办法以某种方式强制解决 VS2013。这是公司的主要问题和主要关注点。我很感激您的回复,并将把这些信息连同我在此过程中获得的其他信息一起转发给我的上级。

以上是关于VS2012 和 VS2013 解决方案之间是不是存在任何功能差异?的主要内容,如果未能解决你的问题,请参考以下文章

VS2012,VS2013启用SQLite的Data Provider界面显示

如何修改vs2012的解决方案文件

vs2013链接sql server2012的问题

VS2012如何提示错误窗口?

vs2013vs2012右键转到定义变灰色问题

用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序