Как заставить файл решения (SLN) открыть в Visual Studio 2013?
Попытка открыть VS 2012-решение (файл SLN) явно в VS 2013 успешно завершена. Просто дважды щелкнув его в проводнике Windows, он все равно откроет его в VS 2012.
Я читал "Visual Studio 2012 не конвертирует решение vs2010?" и последовали за предложением "Сохранить Как..." файл решения.
По умолчанию он открывается в VS 2012 по умолчанию.
Мой вопрос:
Как изменить файл SLN, чтобы он был открыт в Visual Studio 2013?
Ответы
Ответ 1
Файл .sln
указывает предполагаемую версию как одну из первых строк - например:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
или
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Однако - он может использовать это только в том случае, если приложение по умолчанию для файлов .sln
является "Селектором версий Microsoft Visual Studio". Это не редкость для приложения .sln
по умолчанию вместо конкретной. В окнах 8:
![enter image description here]()
вы можете указать, что является значением по умолчанию, потому что он говорит "продолжать использовать":
![enter image description here]()
![enter image description here]()
Ответ 2
Обратите внимание, что вы также можете принудительно обновить файл .sln или .proj с помощью командной строки, где devenv является целевой версией IDE:
devenv "MyProject.sln" /upgrade
Пример:
"%programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" "D:\Source\MySolution.sln" /upgrade
Обратите внимание, что это не открывает Visual Studio. Альтернативно, изнутри IDE выберите "Сохранить как" для вашего файла решения и перезапишите или сохраните решение под новым именем.
Подробнее:
http://msdn.microsoft.com/en-us/library/w15a82ay.aspx
Ответ 3
Кажется, что у OP уже есть рабочий ответ... но для меня проблема была другой. У меня было VS 2012 решение (несколько на самом деле) и хотели конвертировать их в 2013 году (что я понимаю, это тривиальное изменение в .sln файле, но я хотел, чтобы это было сделано автоматически, если бы была какая-то секретная логика обновления, о которой я не знал).
Итак, я думал, что я открою его в VS2013, он автоматически обновится, как и ожидалось, и тогда мне будет предложено дважды щелкнуть решение и увидеть его в VS2013 в будущем. Но открытие в VS2013 НЕ Явилось обновление для меня автоматически, как ожидалось, и я не смог найти явный способ принудительного обновления после открытия файла в VS2013. Я мог бы работать с решением, сохранять мои изменения и закрывать VS2013, но .sln останется неизменным и не обновлен.
Оказывается, моя проблема заключалась в том, как я открывал решение... как привычку я щелкаю правой кнопкой мыши и выбираю "открывать с", чтобы выбрать программу, которую я хочу использовать, чтобы открыть файл. Я делаю это часто. Примечание. Я не говорю об изменении программы "open with" по умолчанию, а просто открывает файл с определенной программой один раз. Поэтому я бы щелкнул правой кнопкой мыши файл .sln... открыть с помощью Visual Studio 2013... и ничего не обновится.
В конце концов я решил перейти в VS2013, а затем сделать File > Open и выбрать файл .sln(это чуждо мне, так как я вряд ли когда-либо открою что-нибудь таким образом, может быть, вы одинаковы). В любом случае, обновление файла решения мгновенно.
После обновления строки 2-3 файла .sln изменились:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1
Итак, из моего опыта, чтобы автоматически обновлять VS2012.sln до VS2013, вы должны открыть VS2013 и выбрать .sln из диалогового окна File > Open. Использование оболочки explorer для принудительного открытия файла .sln в VS2013 не вызывает логику обновления (по-видимому).
В качестве еще одного примечания, я протестировал с другим решением, и после внесения изменений в Configuration Manager (который явно "касается".sln файла) он обновил VS2012 до VS2013, даже после того, как открыл его с помощью щелчка правой кнопкой мыши с.
Ответ 4
У меня было решение, которое ранее было обновлено с 2010 по 2013 год, но все же показало .sln как связанный с 2010 годом.
Я тестировал все методы, приведенные в этом потоке, и единственный, кто успешно исправил .sln, должен был открыть только Visual Studio 2013, затем открыть решение, которое все еще было связано с 2010 в среде IDE, а затем использовать файл [File] > [Сохранить (имя).sln as], чтобы перезаписать существующий .sln файл.
Настройка файлового ассоциата .sln как "селектора версий Visual Studio" не изменилась, и решение продолжало открываться в 2010 году.
Метод devenv (name).sln/upgrade не внес изменения в мой .sln файл.
Взломав исходный текст файла .sln, поврежденный, и он вообще не откроется.
Ответ 5
Чтобы решить эту проблему, я просто изменил следующие строки файла .sln:
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
в них:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
Строка комментария должна быть изменена, поскольку она обрабатывается загрузчиком решения.
Ответ 6
Это может работать для читателей, пытающихся обновить файл решения до Visual Studio 2015. (Я обновил решение VS 2012.)
- Откройте решение в VS 2015.
- Добавить новый проект в решение. (Я добавил тестовый проект.)
- Удалите проект.
- Сохраните решение.
Вы можете удалить удаленную папку проекта в это время, так как шаг 3 не удалил ее.
Это сработало для меня, когда не отвечали ни zumeys, ни ответы TCC.
ИЗМЕНИТЬ
У Metro Smurf был похожий, но более легкий ответ, чем у меня для аналогичного вопроса. Его шаги были:
- Открыть решение в VS 2015
- Решение правой кнопкой мыши > Добавить > Новая папка решения (имя не имеет значения)
- Сохранить решение
- Удалить недавно добавленную папку решений
- Сохранить решение