Как Windows знает, к какой версии Visual Studio относится файл .sln?
Если у меня есть решение VS 2005, оно появляется как "Версия: Visual Studio 2005". Если у меня есть решение VS 2010, файл sln появляется в связи с этим.
Оба имеют суффикс .sln. Итак, как Windows знает, какую версию VS открыть с помощью?
Ответ 1
Он использует обработчики свойств обработчика свойств и обработчика значков (часть селектора версий Visual Studio)
Они регистрируются ключом реестра HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln (ссылка HKEY_CLASSES_ROOT\.sln)
Когда вы открываете файл, он запускает "c:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" "%1", который читает версию из файла .sln и открывает правильную версию.