对于
.sln
或 .csproj
等扩展,默认应用程序是 Microsoft Visual Studio 版本选择器。我安装了两个版本:2010 SP1 和 2012 RC。该应用程序究竟如何决定启动哪个 VS?
我想说它的工作原理是这样的:
.sln
文件的顶部有类似这样的内容,因此版本选择器可以决定:Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2010
这是我的感觉,但具体规则是什么?
.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]
必须精确 并且区分大小写。