Mam stary projekt ASP.NET MVC 2, którego nie chcę aktualizować do MVC 3 lub MVC 4. Pracuję na nowej maszynie z systemem Windows 8, Visual Studio 2012 i Visual Studio 2013. Kiedy próbuję otworzyć MVC 2 w VS 2012 lub VS 2013 Otrzymuję błąd:
Ten projekt jest niezgodny z bieżącą wersją programu Visual Studio
Projekt jest następnie zwalniany i wyszarzany w Eksploratorze rozwiązań. Nie chcę instalować kolejnej kopii programu Visual Studio. Jak mogę otworzyć stary projekt MVC w nowej wersji programu Visual Studio?
Odpowiedzi:
Otwarcie nieobsługiwanego projektu MVC w programie Visual Studio 2012 lub Visual Studio 2013 jest w rzeczywistości dość łatwe do wykonania w dwóch krokach. W rzeczywistości, jak wskazuje komentarz bytebender , te same kroki powinny mieć zastosowanie do projektów MVC 1 i działać z nimi. Jednak nie testowałem ich i dlatego nie mogę zagwarantować, że faktycznie działają.
Zakładając, że jeszcze tego nie zrobiłeś, pierwszym krokiem jest pobranie i zainstalowanie MVC 1 , MVC 2 lub MVC 3 (zamknij program Visual Studio przed rozpoczęciem instalacji).
Po zainstalowaniu odpowiedniego smaku MVC projekt nadal nie będzie ładowany w VS 2012. Dzieje się tak, ponieważ projekty ASP.NET MVC są podtypem projektu typu projektu aplikacji sieci Web. Oznacza to, że projekt ma dodatkowe dodatki i funkcje dostępne w przypadku używania w programie Visual Studio.
Zarówno Visual Studio 2012, jak i Visual Studio 2013 mają ograniczoną zgodność wsteczną z ASP.NET MVC i innymi typami projektów. Niestety instalacja starych bitów MVC tego nie zmieniła. Program Visual Studio 2012 jest zgodny z odmianami projektów ASP.NET MVC 3 i 4. Program Visual Studio 2013 jest zgodny z MVC 4 i MVC 5.
Aby załadować projekt, będziesz musiał zmodyfikować plik projektu. Aby to zrobić, kliknij prawym przyciskiem myszy rozładowany projekt i wybierz Edytuj. Który otworzy plik projektu jako plik tekstowy XML. Znajdź
ProjectTypeGuids
węzeł, który powinien wyglądać mniej więcej tak:Usuń odpowiedniego przewodnika projektu z listy:
{603c0e0b-db56-11dc-be95-000d561079b0}
{F85E285D-A4E0-4152-9332-AB1D724D3325}
(pokazany w powyższym przykładzie){E53F8FEA-EAE0-44A6-8774-FFD645390401}
{E3E379DF-F4C6-4180-9B81-6769533ABE47}
Po usunięciu odpowiedniego identyfikatora GUID
ProjectTypeGuids
powinno wyglądać podobnie do tego:Zapisz plik i zamknij edytor plików projektu programu Visual Studio. Kliknij projekt prawym przyciskiem myszy i wybierz opcję Wczytaj ponownie. Jeśli projekt nie zostanie ponownie załadowany, zamknij i ponownie otwórz program Visual Studio. Teraz powinieneś móc pracować ze starym projektem ASP.NET MVC w nowej wersji programu Visual Studio.
Należy zauważyć, że po tych modyfikacjach program Visual Studio nie wie, że jest to projekt ASP.NET MVC; dlatego funkcje specyficzne dla projektu, takie jak „Dodaj kontroler, widok itp.” nie będzie obecny w menu.
źródło
Użyłem podejścia @ ahsteele (dzięki i 2x + 1s!), Ale miałem jeszcze jeden błąd: -
Nie mogę znaleźć żadnych cytatów z prawdziwej przyczyny, ale udało mi się sprawić, że VS2012RTM pomyślnie załaduje projekt, zmieniając plik
<ProjectGuid>
. (Nie mam pojęcia jak to się stało - jego częścią dużej roztworu i VS08, VS10, VS11 Beta i VS2012RC wszyscy zmodernizowane.csproj
i.sln
upływem czasu.źródło
W VS2017 rozwiązaniem jest po prostu zrobić to
<ProjectTypeGuids></ProjectTypeGuids>
tak.Żadnych przestrzeni między damami i panami, w przeciwnym razie zmarnuje 48 godzin twojego czasu.
pozdrowienia
źródło