How does Windows determine the application to start when I double-click on an associated file?

I installed Visual Studio 2013 on my PC and converted an existing solution from version 2008 to 2013.

Interesting, when I double click on a solution in 2008 format it opens VS 2008, for a 2013 it opens VS 2013. That's fine but how does Windows know? All solution files have the same extension .sln, so there must be another way to define the opening application in this case.

有帮助吗?

解决方案

The following texts from this post should address your concern:

When you double-click on a .sln file, a small program called vslauncher.exe is called with the path to your .sln file as its first argument. The job of vslauncher.exe is to read enough of your .sln file to determine which version of Visual Studio to use to open your file. Since you may have several versions of Visual Studio installed (VS2003, 2005, 2008, Express SKUs, etc.) you probably want to open the solution with the same copy of Visual Studio that you used to create it.

Visual Studio 2008 .sln files typically start with these two lines:

Microsoft Visual Studio Solution File, Format Version 10.00

# Visual Studio 2008

That said, if your .sln file signature (the first two lines of your file) does match any known release of Visual Studio, it will be opened by that particular VS version.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top