Visual Studio如何确定解决方案文件的版本?

27

假设我有两个解决方案: vs2009.sln和vs2010.sln。这两个解决方案的文件扩展名相同(.sln),但它们有不同的图标。它们在相关版本的Visual Studio中打开。我想知道Visual Studio如何确定这一点?

编辑: Visual Studio版本选择器没问题,但我想知道即使扩展名相同,为什么图标会不同?我曾经知道注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\explorer\Shell Icons中每个扩展名只有一个图标。

2.编辑: 我终于找到了答案。如果有人想知道,答案在这里http://msdn.microsoft.com/en-us/library/cc144122%28VS.85%29.aspx


2
如何判断Windows系统中的一个sln文件对应于哪个版本的Visual Studio?(注:此问题是stackoverflow上的重复问题) - user247702
谢谢,但我在那个链接上没有找到我要找的东西。 - Hakan Kara
1
它回答了你的两个问题。图标由图标处理程序 shell 扩展确定,而要打开的 VS 版本由版本选择器确定(如下面的答案所解释)。 - user247702
3个回答

43

使用记事本或其他文本编辑器打开您的 .sln 文件。查找第一行上的 Format Version,它与 Visual Studio 版本相关联。以下是我熟悉的一些版本:

  • Format Version 8.00 对应 Visual Studio 2003
  • Format Version 9.00 对应 Visual Studio 2005
  • Format Version 10.00 对应 Visual Studio 2008
  • Format Version 11.00 对应 Visual Studio 2010
  • Format Version 12.00 对应 Visual Studio 2013

你也可以在 VS2010 SP1 中打开 格式版本12.00 - shashwat
2015和2017呢? - rory.ap
4
2015年、2017年和2019年的版本仍然使用第12版。 - Refael Ackermann

11

解决方案文件是文本文件。

第一行包含版本信息。

例如,对于Visual Studio 2010解决方案,您会发现:

Microsoft Visual Studio Solution File, Format Version 11.00

此外,当您安装了多个不同版本的Visual Studio时,.sln文件将通过Visual Studio版本选择器实用程序进行处理,该实用程序会读取这些信息并打开相应版本的Visual Studio。检查.sln文件关联。


你可以在 VS2010 SP1 中打开 格式版本 12.00 - shashwat

2
尝试使用记事本打开 .sln 文件,第一行会显示 Microsoft Visual Studio Solution File, Format Version 10.00 或者 11,取决于它的版本。请注意保留 HTML 标签。

第二行大概是这样的:# Visual Studio 14,但对于vs2010,使用2010,对于vs2013和2015,使用201314。vs2010使用格式版本11.00,而vs2013和2015使用格式版本12.00。其他版本不确定。 - Jesse Chisholm
vs2010在boost构建中使用msvc-10.0。 - sailfish009

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