Jak wymusić otwarcie pliku rozwiązania (SLN) w Visual Studio 2013?

Próba otwarcia rozwiązania VS 2012 (plik SLN) jawnie w VS 2013 powiodła się. Po prostu podwójne kliknięcie w Eksploratorze Windows nadal otwiera go w VS 2012 zamiast tego.

Przeczytałem " Visual Studio 2012 nie konwertuje rozwiązania vs2010? "i po sugestii " Zapisz jako..."plik rozwiązania .

Nadal domyślnie otwiera się w VS 2012.

Moje pytanie:

Jak zmienić plik SLN, aby wymusić jego otwarcie w Visual Studio 2013?

Author: Community, 2013-10-22

6 answers

Plik .sln wskazuje zamierzoną wersję jako jedną z pierwszych linii-na przykład:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013

Lub:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

Jednak-może z tego skorzystać tylko wtedy, gdy domyślną aplikacją dla plików .sln jest "Microsoft Visual Studio Version Selector". Często zdarza się, że domyślna aplikacja .sln jest wersją specyficzną dla. W windows 8:

Tutaj wpisz opis obrazka

Możesz określić, która jest domyślna, ponieważ mówi " keep using": {]}

Tutaj wpisz opis obrazka

Tutaj wpisz opis obrazka

 119
Author: Marc Gravell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-22 09:34:08

Zauważ, że możesz również wymusić upgrade a .sln lub .plik proj używając wiersza poleceń, gdzie devenv jest docelową wersją IDE:

devenv "MyProject.sln" /upgrade

Przykład:

"%programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" "D:\Source\MySolution.sln" /upgrade

Zauważ, że to nie otwiera Visual Studio. Alternatywą jest wybranie z poziomu IDE opcji "Zapisz jako" dla pliku rozwiązania i nadpisanie lub zapisanie rozwiązania pod nową nazwą.

Czytaj więcej: http://msdn.microsoft.com/en-us/library/w15a82ay.aspx

 33
Author: zumey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-23 17:38:30

Wygląda na to, że operacja ma już działającą odpowiedź ... ale dla mnie problem był inny. Miałem rozwiązanie VS 2012 (kilka faktycznie) i chciał przekonwertować je do 2013 (co rozumiem jest trywialną zmianą do .plik sln, ale chciałem to zrobić automatycznie w przypadku, gdy była jakaś tajna logika aktualizacji byłem nieświadomy).

Więc pomyślałem, że otworzę go w VS2013, automatycznie zaktualizuje się zgodnie z oczekiwaniami, a następnie będę ustawiony na podwójne kliknięcie rozwiązania i zobaczenie go w VS2013 Idę Do Przodu. Ale otwarcie w VS2013 nie aktualizowało rozwiązania dla mnie automatycznie zgodnie z oczekiwaniami i nie mogłem znaleźć wyraźnego sposobu, aby wymusić aktualizację po otwarciu pliku w VS2013. Mogę pracować z rozwiązaniem, zapisać moje zmiany i zamknąć VS2013, ale .sln pozostałby niezmieniony i nie zmodernizowany.

Okazało się, że mój problem tkwił w tym, jak otwierałem rozwiązanie ... jako nawyk klikam prawym przyciskiem myszy pliki i wybieram "Otwórz za pomocą", aby wybrać program, którego chcę użyć do otwarcia pliku. Tak. to często. Uwaga nie mówię o zmianie domyślnego programu "otwórz Z", ale po prostu otwarcie pliku z określonym programem raz. Więc chciałbym kliknąć prawym przyciskiem myszy .plik sln... otwórz w Visual Studio 2013 ... i nic się nie zmieni.

W końcu pomyślałem, aby przejść do VS2013, a następnie zrobić Plik > Otwórz i wybierz .plik sln (jest to dla mnie obce, ponieważ prawie nigdy nie otwieram niczego w ten sposób, może jesteś taki sam). W każdym razie Uaktualnij plik rozwiązania natychmiast.

Po modernizacji, linie 2-3 z .plik sln zmieniony z tego:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

Do tego:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1

Więc z mojego doświadczenia, aby automatycznie aktualizować VS2012 .sln do VS2013, musisz otworzyć VS2013 i wybrać .sln z okna Plik > Otwórz. Za pomocą powłoki explorer wymusić .plik sln do otwarcia W VS2013 nie wywołuje logiki aktualizacji (najwyraźniej).

Jako kolejna uwaga, testowałem z innym rozwiązaniem, a po wprowadzeniu zmian poprzez konfigurację Manager (co oczywiście "dotyka".plik sln) dokonał aktualizacji VS2012 do VS2013, nawet po otwarciu go przez kliknięcie prawym przyciskiem myszy Otwórz z.

 21
Author: TCC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-21 19:03:30

Miałem rozwiązanie, które wcześniej zostało uaktualnione z 2010 do 2013 pomyślnie, ale nadal pokazał .sln jako związane z 2010.

Przetestowałem wszystkie metody podane w tym wątku i jedyną, która z powodzeniem poprawiła .sln miał otworzyć Visual Studio 2013 sam, a następnie otworzyć rozwiązanie, które nadal było związane z 2010 w IDE, a następnie użyć [plik] > [Save (name).sln as] aby nadpisać istniejące .plik sln.

Ustawianie pliku assoc z .sln to be the "Visual Studio version selector" nie zmienił się i rozwiązanie zostało otwarte w 2010 roku.

Devenv (nazwa).metoda sln / upgrade nie zmieniła mojego .plik sln.

Hakowanie surowego tekstu .plik sln uszkodził mój i w ogóle się nie otworzy.

 7
Author: Jeff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-29 17:30:20

Aby rozwiązać ten problem, po prostu zmieniłem następujące linie .plik sln:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

Do tych:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013

Linia komentarza ma zostać zmieniona, gdy jest przetwarzana przez program ładujący rozwiązanie.

 6
Author: Zac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-16 07:36:43

Może to działać dla czytelników próbujących uaktualnić plik rozwiązania do Visual Studio 2015. (Ulepszyłem rozwiązanie VS 2012.)

  1. Otwórz rozwiązanie w VS 2015.
  2. Dodaj nowy projekt do rozwiązania. (Dodałem projekt testowy.)
  3. Usuń projekt.
  4. Zapisz rozwiązanie.

Możesz chcieć usunąć usunięty folder projektu w tym czasie, ponieważ Krok 3 go nie usunął.

To działało dla mnie, gdy ani zumey ' s ani odpowiedzi TCC tak.

EDIT

Metro Smerf miał podobną, ale łatwiejszą odpowiedź niż moja na podobne pytanie . Jego kroki były:

  1. otwarte rozwiązanie w VS 2015
  2. Kliknij prawym przyciskiem myszy rozwiązanie > Dodaj > Folder nowe rozwiązanie (nazwa nie ma znaczenia)
  3. Zapisz rozwiązanie
  4. Usuń nowo dodany folder rozwiązania
  5. Zapisz rozwiązanie
 4
Author: Theophilus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:41