Как Visual Studio может определить версию файла решения?

Подумайте, что у меня есть два решения: vs2009.sln и vs2010.sln. Оба файла решения имеют одинаковое расширение (.sln), но у них разные значки. И они открываются в соответствующей версии визуальной студии. Интересно, как это делает визуальная студия?

Редактирование: выбор редакции Visual Studio в порядке, но мне интересно, как может отличаться значок, даже расширения являются одинаковыми? Я знал, что каждое расширение имеет только один значок в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\explorer\Shell Icons

2.Edit: Наконец-то я нашел ответ. Если кто-то задается вопросом об этом, ответ можно найти здесь http://msdn.microsoft.com/en-us/library/cc144122%28VS.85%29.aspx

Ответ 1

Откройте файл.sln с помощью Notepad или другого текстового редактора. Посмотрите Format Version в первой строке, которая коррелирует с версией Visual Studio. Вот некоторые, с которыми я знаком:

  • Формат версии 8.00 - это Visual Studio 2003
  • Формат версии 9.00 - это Visual Studio 2005
  • Формат версии 10.00 - это Visual Studio 2008
  • Формат версии 11.00 - это Visual Studio 2010
  • Формат версии 12.00 - это Visual Studio 2013

Ответ 2

Файлы решений - это текстовые файлы.

В первой строке содержится информация о версии.

Например, для решения Visual Studio 2010 вы найдете:

Microsoft Visual Studio Solution File, Format Version 11.00

Кроме того, когда у вас установлено несколько разных версий Visual Studio, файл .sln проходит через утилиту Visual Studio Version Selector, которая читает это и открывает соответствующую версию Visual Studio. Проверьте ассоциации .sln файлов.

Ответ 3

Попробуйте открыть.sln в блокноте

первая строка сама говорит Microsoft Visual Studio Solution File, Format Version 10.00 или 11 или любую другую версию