“Visual Studio 版本选择器”到底是如何选择 Visual Studio 版本的?

问题描述 投票:0回答:3

对于

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

我想说它的工作原理是这样的:

  1. 如果它在给定文件中找到应使用哪个版本的任何提示,则它会使用它。例如,在
    .sln
    文件的顶部有类似这样的内容,因此版本选择器可以决定:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2010
  1. 如果没有找到任何提示,它将使用后来安装的版本(在我的例子中,我在 2012 年已经安装在我的电脑上之后重新安装了 2010 SP1,现在我认为 VS2010 的打开频率比 2012 年更高,但不是 100%当然)。

这是我的感觉,但具体规则是什么?

visual-studio
3个回答
38
投票

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

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

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


5
投票

.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]
必须精确 并且区分大小写。


4
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.