【问题标题】:Visual Studio version-agnostic projects/solutions: is it possible?Visual Studio 版本无关的项目/解决方案:有可能吗?
【发布时间】:2011-11-11 11:37:31
【问题描述】:

我记得去年看到一个开源项目,我能够在 VS 2008 和 VS 2010 中打开它,而不会弹出升级向导。我觉得……

是否可以创建一个可以在任何版本的 Visual Studio 中打开而不提示我运行升级向导的项目/解决方案?如果是这样,我该怎么做?

有关 C++ 和 C# 项目的信息将是最有帮助的。

【问题讨论】:

  • 如果你用VS 2010创建项目,然后在VS 2008中打开,你有升级向导吗?
  • 我想我见过一些项目会从其他类型的 makefile / 项目描述生成 2008 和 2010 版本,但我很确定你不能在两者中使用相同的项目文件.
  • 问题是关于 VS 中的 C# 和 C++ 项目,我真的很想知道是否有可能,包括更改 VS 设置。另外,我可以接受一些限制,例如较低的 .NET 版本就可以了。
  • @Otiel:在 VS2008 中打开 VS2010 编写的解决方案时,我收到一条错误消息。是说它是一个有效的解决方案文件,但它是使用较新版本创建的,因此无法打开。

标签: c# c++ visual-studio versioning projects-and-solutions


【解决方案1】:

您可以使用 CMake 并生成 VSx 解决方案。

我认为您看到的项目有 2 个针对不同 Visual Studio 版本的 Visual Studio 解决方案。

更新: 另外,您可以使用http://sourceforge.net/projects/vspc/ 或查看http://www.emmet-gray.com/Articles/ProjectConverter.htm

【讨论】:

  • 谢谢 :) 会检查这些。
【解决方案2】:

除了版本号外,Visual Studio 版本的解决方案格式没有显着变化。 如果代码本身足够通用(不使用 linq 等),那么您可以编辑解决方案文件的第一行以“降级”版本。

VS2005 使用:

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005

【讨论】:

  • +1;这对某人来说将是有用的信息,尽管不是我。我不能使用这个解决方案的原因是我需要将单个版本签入源代码控制,我宁愿避免让人们无限期地签出这些文件,特别是因为他们会签入对项目的合法更改不时。
【解决方案3】:

您可以尝试Prebuild project 即时生成所需的解决方案文件。

Prebuild 是一个跨平台的 XML 驱动的预构建工具,它允许 开发人员可以轻松地为主要 IDE 和 .NET 生成项目文件 开发工具包括:Visual Studio .NET 2002、2003、2005、2008、2010 SharpDevelop、MonoDevelop、NAnt 和 Autotools。

【讨论】:

  • 看起来很有趣。我试试看
【解决方案4】:

可能不是你问的,但你可以将你的项目转换成nmake目标

【讨论】:

    【解决方案5】:

    这样做的唯一方法是创建单独的解决方案(针对 2010 年和 2008 年),并将现有项目包含到不同的解决方案中。在 VS2008 中新建项目,然后将它们添加到 VS2010 解决方案中。

    【讨论】:

    • 有机会我会试试的。
    【解决方案6】:

    你可能需要round-tripping之类的东西

    往返是使用当前或以前版本的 Visual Studio 来定位两个版本的 VS 都支持的平台的能力。例如,通过往返,您可以在较新的 IDE 中打开以前版本的 VS 中的项目,而无需进行转换,从而允许您同时处理旧项目和升级项目。

    阅读more

    【讨论】:

    • 但是那篇文章说VS明确不支持?
    • 我没有投反对票。很棒的文章。不幸的是,它告诉我其他人的答案都是正确的:我真的需要两个解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多