Visual studio Visual Studio 2015解决方案与Visual Studio 2013的向后兼容性

Visual studio Visual Studio 2015解决方案与Visual Studio 2013的向后兼容性,visual-studio,visual-studio-2013,visual-studio-2015,Visual Studio,Visual Studio 2013,Visual Studio 2015,似乎我可以在VS 2015中打开VS 2013解决方案文件。关于向后兼容性,我有几个问题: VS 2013解决方案能否安全地在VS 2015中维护,而不丧失在VS 2013中使用它的能力 VS 2015解决方案能否在VS 2013中维护 我可以自己尝试一下,但我想知道是否有一些记录在案的警告我应该注意。我觉得这是一个合理的问题;我没有看到微软关于两个IDE之间往返解决方案的任何官方信息,除了“假设它能工作” 根据我过去24小时的个人经验,使用VS2015“升级”解决方案文件本身不会造成任何伤

似乎我可以在VS 2015中打开VS 2013解决方案文件。关于向后兼容性,我有几个问题:

  • VS 2013解决方案能否安全地在VS 2015中维护,而不丧失在VS 2013中使用它的能力
  • VS 2015解决方案能否在VS 2013中维护

我可以自己尝试一下,但我想知道是否有一些记录在案的警告我应该注意。

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

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

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


不幸的是,我们在VS2015方面进展甚微,因为我们依赖Microsoft fakes来获取存根,而且该工具似乎至少有一个bug阻止了我们继续(请参阅)。

我终于在MSDN文章中找到了有关在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版本之间特定类型文件之间的兼容性进行了详细分析。

如果可以尝试,那么就这样做……第一个项目几乎是可行的。第二个我很怀疑。请注意,VS2013没有实现整个C++11标准,例如constexpr,缺少委托构造函数。@leppie我没想到我能在2015年运行2013解决方案而不进行转换。(我想这是VS的第一次)我想知道这是否有文档记录,但我无法通过谷歌找到相关文档。试用它需要几天/几周的时间来检查。@John这不是真的2012年和2013年是交叉兼容的,我相信2010年和2012年也是(这一次不太确定,2012/2013年非常确定)。您在问题中遗漏的最大部分是VS2015中使用的C#6.0是否具有交叉兼容性。我懂了。我没有使用2012,我完全忘记了那个版本的存在。这和我的问题是一样的,我正要为此打开一个问题,但在我点击按钮之前发现了这个问题。终于找到了一些官方文档!我看到了相同的(在.sln文件中更改了版本)。很烦人,因为它似乎完全没有必要。