【问题标题】:Visual Studio 2015 solutions backwards compatibility with Visual Studio 2013Visual Studio 2015 解决方案向后兼容 Visual Studio 2013
【发布时间】:2015-10-10 12:27:21
【问题描述】:

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

  • 能否在 VS 2015 中安全地维护 VS 2013 解决方案而不会失去在 VS 2013 中对其进行处理的能力?
  • VS 2015 的解决方案能否在 VS 2013 中维护?

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

【问题讨论】:

  • 如果可以试试,那就试试吧……
  • 第一个子弹隐约可行。第二个我非常怀疑。请注意,VS2013 并未实现整个 C++11 标准,例如constexpr,委托构造函数丢失。
  • @leppie 我没想到我能够在 2015 年运行 2013 年的解决方案而无需转换。(我认为这是 VS 的第一次)我想知道这是否记录在案某处,我无法通过谷歌找到相关文档。试用它需要几天/几周的检查。
  • @John 这不是真的 2012 年和 2013 年是交叉兼容的,我相信 2010 年和 2012 年也是如此(对此不太确定,在 2012/2013 年非常确定)。您遗漏的最大部分是 VS2015 中使用的 C# 6.0 是否交叉兼容
  • 啊。我知道了。我没有使用 2012,我完全忘记了那个版本的存在。

标签: visual-studio visual-studio-2013 visual-studio-2015


【解决方案1】:

我终于在 MSDN 文章 Porting, Migrating, and Upgrading Visual Studio Projects 中找到了有关在 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 版本之间特定类型文件之间的兼容性。

【讨论】:

    【解决方案2】:

    我觉得这是一个合理的问题;除了“假设它有效”之外,我没有看到 Microsoft 提供的有关两个 IDE 之间的往返解决方案的任何官方信息。

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

    如果某些 csproj 文件被标记为较旧的工具版本,它会尝试更改它们,但仍然可以编译。

    不幸的是,我们在 VS2015 方面几乎没有取得什么进展,因为我们依赖 Microsoft 伪造的存根,而且该工具似乎至少存在一个错误阻止我们继续进行(请参阅 Visual Studio 2015, Microsoft Fakes and System.Security.Claims.Claim)。

    【讨论】:

    • 这和我有同样的问题,我正要为此打开一个问题,但在我点击按钮之前找到了这个问题。
    • 我看到了相同的(.sln 文件中的更改版本)。很烦人,因为它似乎完全没有必要。
    猜你喜欢
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 2015-11-28
    • 2017-03-20
    • 1970-01-01
    相关资源
    最近更新 更多