对于.sln
或.csproj
等扩展程序,默认应用程序是 Microsoft Visual Studio版本选择器。我安装了两个版本,2010 SP1和2012 RC。该应用程序究竟将如何决定启动哪个VS?
我会说它的工作原理如下:
.sln
文件的顶部有类似的东西,因此版本选择器可以决定: Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2010
这是我的感受,但确切的规则是什么?
答案 0 :(得分:30)
文件标题中有一些版本信息。否则,文件资源管理器无法在.sln文件上显示带有数字的不同文档图标:
代表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。