Подтвердить что ты не робот

Как заставить файл решения (SLN) открыть в Visual Studio 2013?

Попытка открыть VS 2012-решение (файл SLN) явно в VS 2013 успешно завершена. Просто дважды щелкнув его в проводнике Windows, он все равно откроет его в VS 2012.

Я читал "Visual Studio 2012 не конвертирует решение vs2010?" и последовали за предложением "Сохранить Как..." файл решения.

По умолчанию он открывается в VS 2012 по умолчанию.

Мой вопрос:

Как изменить файл SLN, чтобы он был открыт в Visual Studio 2013?

4b9b3361

Ответ 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
  • Решение правой кнопкой мыши > Добавить > Новая папка решения (имя не имеет значения)
  • Сохранить решение
  • Удалить недавно добавленную папку решений
  • Сохранить решение