究竟是什么" Visual Studio版本选择器"选择VS版本?

时间:2012-06-14 23:15:06

标签: visual-studio

对于.sln.csproj等扩展程序,默认应用程序是 Microsoft Visual Studio版本选择器。我安装了两个版本,2010 SP1和2012 RC。该应用程序究竟将如何决定启动哪个VS?

我会说它的工作原理如下:

  • 如果在给定文件中找到任何应​​该使用哪个版本的提示,那么它就会使用它。例如,在.sln文件的顶部有类似的东西,因此版本选择器可以决定:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2010

  • 如果没有找到任何提示,它将使用后来安装的任何版本(在我的情况下,我重新安装了2010 SP1之后已经安装在我的PC上,现在我认为VS2010比2012年更频繁地打开但不是100%肯定)。

这是我的感受,但确切的规则是什么?

3 个答案:

答案 0 :(得分:30)

文件标题中有一些版本信息。否则,文件资源管理器无法在.sln文件上显示带有数字的不同文档图标:

VS2008 VS2010 VS2012 VS2013 VS2015 VS2017 代表VS版本2008/2010/2012/2013/2015/2017的.sln文件

如果使用记事本或其他不保留UTF-8签名的文本编辑器编辑.sln文件,则图标上的此数字将消失(请参阅comment by Paul Groke)。在这种情况下,版本选择器也无法选择正确的版本,您无法从文件资源管理器中打开它。您可以从Visual Studio中专门打开它并保存.sln文件以进行修复。有关此问题的更多信息,请参阅this

答案 1 :(得分:0)

.sln文件必须是UTF-8-BOM文件,并且必须像这样开始:

[blank line]
Microsoft Visual Studio Solution File, Format Version XX.XX[XXX...]
[description]

例如,[description]是VS 2012的# Visual Studio Express 2012 for Windows Desktop或VS 2017的# Visual Studio 15

第二行区分大小写,但第三行(description)不区分大小写。如果缺少它,选择器似乎会启动最新的VS。

VisualStudioVersion条目将被忽略。

但是,要显示正确的文件图标,[description]必须精确并且区分大小写。

答案 2 :(得分:0)

以正确的Visual Studio版本打开您的解决方案。单击以选择解决方案。单击文件->保存xxx.sln。

github