Windows如何知道.sln文件与哪个版本的Visual Studio相关?

And*_*ker 17 windows visual-studio

如果我有一个VS 2005解决方案,那么它会显示为"Version:Visual Studio 2005".如果我有一个VS 2010解决方案,则sln文件显示为与此相关.

它们都有.sln后缀.那么Windows如何知道用哪个版本的VS打开它呢?

SLa*_*aks 17

它使用Property Handler和Icon Handler shell扩展(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文件中读取版本并打开正确的版本.

  • 虽然这个答案是准确的,但是信息量不大.也许OP应该问:`.sln文件中的哪些信息用于确定它所属的Visual Studio版本? (3认同)