Visual Studio 2015解决方案是否与Visual Studio 2013向后兼容?

48

看起来我可以在VS 2015中打开一个VS 2013解决方案文件。我有几个关于向后兼容性的问题:

  • 在不失去在VS 2013上工作的能力的情况下,能否安全地在VS 2015中维护一个VS 2013解决方案?
  • 在VS 2013中能否维护一个VS 2015解决方案?

我可以自己尝试一下,但我想知道是否有一些已记录的注意事项需要我知道。


1
如果你能尝试,那就去做吧... - leppie
第一个点可能有些模糊。第二个我非常怀疑。请注意,VS2013没有实现整个C++11标准,例如constexpr和委托构造函数都缺失。 - Bathsheba
@leppie,我没想到我能在2015年不转换的情况下运行2013年的解决方案。(我想这是VS的首次)我想知道是否有相关文档记录,但我在谷歌上找不到相关文档。试用需要几天/几周的检查。 - Jonn
1
@John,那不是真的。2012年和2013年是跨兼容的,我相信2010年和2012年也是(对于这一点不太确定,但对于2012/2013非常确定)。你在问题中遗漏的最重要的部分是C# 6.0在VS2015中使用是否跨兼容。 - Chris Marisic
啊,我明白了。我没有使用过2012版本,而且我完全忘记了那个版本的存在。 - Jonn
2个回答

63

我最终在MSDN文章“迁移、升级 Visual Studio 项目”中找到了有关在Visual Studio中升级解决方案时支持的文件的官方文档。

重点在于开头段落:

如果您使用Visual Studio 2015与Visual Studio 2013、Visual Studio 2012或Visual Studio 2010 SP1一起,您可以在任意版本中创建和修改项目和文件。只要不添加某个版本不支持的功能,就可以在多个版本之间转移项目和文件。

只要您不在高版本中实现低版本不支持的功能,就可以在不同版本的Visual Studio中运行相同的解决方案。

这不仅适用于VS 2015-2013兼容性,还适用于VS 2012和VS 2010 SP 1。


附带说明,我在尝试在VS 2015中打开我的报告项目时发现了此问题。该文章还提供了不同VS版本之间特定类型文件兼容性的详细信息。


6

我认为这是一个合理的问题;我没有看到微软官方关于两个IDE之间往返解决方案的任何官方信息,除了“假设它可以工作”。

根据我个人在过去24小时的经验,“升级”使用VS2015的解决方案文件本身并不会造成任何伤害;它只是更改了解决方案文件中的版本号并重新排序,但它不会添加/删除其他任何东西。

如果使用旧的工具版本标记了一些csproj文件,它将尝试更改这些文件,但仍然可以编译。

不幸的是,我们在VS2015方面取得了很少进展,因为我们依赖于Microsoft Fakes进行存根,而该工具中似乎至少存在一个错误,阻止我们继续(请参见Visual Studio 2015,Microsoft Fakes和System.Security.Claims.Claim)。


这是我想问的同样问题,我正准备为此打开一个问题,但在点击按钮之前找到了这个。 - Chris Marisic
2
终于找到了一些官方文档!https://msdn.microsoft.com/zh-cn/library/hh266747(v=vs.140).aspx - Jonn
1
我看到了相同的(在.sln文件中更改的版本)。非常烦人,因为它似乎完全没有必要。 - Andreas Reiff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接