„Ten projekt jest niezgodny z bieżącą wersją programu Visual Studio”

98

Otrzymałem poniższą wiadomość z programu Visual Studio 2010.

„Ten projekt jest niezgodny z bieżącą wersją programu Visual Studio”

Jedna sytuacja powodująca ten błąd została już opublikowana tutaj w Stackoverflow, ale to pytanie zostało zamknięte. Myślę, że to dość ogólny problem. Ponieważ znalazłem „rozwiązanie”, opublikuję to pytanie i moje rozwiązanie jako odpowiedź.

RenniePet
źródło
1
Wspomnę tylko o sytuacji, w której napotkałem ten błąd. Pobrałem źródło programu Managed ESENT, managedesent.codeplex.com . Zawiera rozwiązanie Visual Studio 2010 z 9 projektami. Niektóre projekty są ukierunkowane na .Net 2.0, niektóre .Net 3.5, a cztery projekty są ukierunkowane na .Net 4.5. Otwarcie rozwiązania nie powoduje żadnego komunikatu o błędzie, ale projekty przeznaczone dla platformy .Net 4.5 są wyświetlane w programie Solution Explorer jako „(niezgodne)”. Jeśli spróbujesz użyć programu Visual Studio 2010 do bezpośredniego otwarcia jednego z tych projektów, zostanie wyświetlony powyższy komunikat o błędzie.
RenniePet
1
@JamesLawruk: Tak, prawdopodobnie jest to duplikat. Ale w momencie, gdy opublikowałem to pytanie i odpowiedziałem, drugie pytanie było zamknięte. Później został ponownie otwarty, być może dlatego, że oznaczyłem go jako zamknięty przez pomyłkę, teraz nie pamiętam.
RenniePet

Odpowiedzi:

67

Jeśli wiadomość

Ten projekt jest niezgodny z bieżącą wersją programu Visual Studio

wynika z próby otwarcia projektu przeznaczonego dla platformy .Net 4.5, wówczas „rozwiązaniem” lub obejściem jest edycja pliku .csproj i zmiana TargetFrameworkVersion z „v4.5” na „v4.0”. To przynajmniej pozwala na załadowanie projektu, chociaż może skutkować błędami kompilatora, jeśli program jest zależny od funkcji 4.5.

RenniePet
źródło
1
Mam ten sam problem, ale nie mogę znaleźć żadnego odniesienia do TargetFrameworkVersion lub v4.5. Nie w pliku .csproj ani w pliku .sln. Jakieś pomysły?
eran otzap
@eranotzap: Nie, przepraszam. Domyślam się, że używasz nowszej wersji programu Visual Studio niż 2010, która była wersją, w której wystąpił ten problem.
RenniePet
Tak, używam VS 2012 i próbuję załadować projekt napisany w VS 2013, I z jakiegoś powodu nie ma sposobu, aby to zrobić ...
eran otzap
-1. Miałem projekt, który został napisany dla 4.0, a docelowy framework to 4.0 przez cały czas. Zadziałało, potem próbowałem zainstalować OneClick Publishing Tools dla VS 2015 i wtedy dostałem błąd OP. Więc ta część dotycząca przełączania wersji w .csproj jest fałszywa, IMHO, nawet jeśli pomogła OP. To nie pomoże wszystkim - stąd, jak sądzę, liczba innych odpowiedzi w tym wątku.
vapcguy
14

VS 2012 obsługuje różne typy projektów w zależności od tego, co instalujesz podczas konfiguracji i jaką masz wersję. Dostępne są pewne opcje, np. Narzędzia do tworzenia stron internetowych, narzędzia do tworzenia baz danych itp. Więc jeśli próbujesz otworzyć projekt internetowy, ale narzędzia do tworzenia stron internetowych nie zostały zainstalowane, narzeka z tym komunikatem.

Może się to zdarzyć, jeśli utworzysz projekt na innym komputerze i spróbujesz otworzyć go na nowym. Rozgryzłem to, próbując otworzyć projekt MVC po przypadkowym odinstalowaniu narzędzi internetowych.

jstites
źródło
Nie zainstalowałem komponentu programistycznego dla VS, przez co moja aplikacja internetowa nie ładowała się.
h-rai
8

Właśnie otrzymałem ten sam komunikat o błędzie z kilkoma projektami po zainstalowaniu Visual Studio 2015 Update 3. Dla mnie rozwiązaniem była instalacja .NET Core

Gordon Glas
źródło
Otrzymuję ten sam błąd po wykonaniu aktualizacji 3, ale instalacja .NET Core go nie naprawiła. Zastanawiam się tylko, czy masz również zainstalowane komponenty Xamarin, ponieważ podejrzewam, że to jest problem.
smoore4
Nie, nie mam zainstalowanych komponentów Xamarin.
Gordon Glas
Dzięki. Podobnie jak niektóre inne osoby tutaj, kiedy dodałem narzędzia Xamarin, albo nie wybrałem opcji dla Microsoft Web Developer Tools, albo przez przypadek odznaczyłem ją. Zmodyfikowałem VS 2015 i dodałem to i teraz błąd zniknął.
smoore4
Myślę, że mój przypadek był inny, ponieważ przed zainstalowaniem aktualizacji 3 potrzebowałem platformy .NET Core, aby rozwiązać problem z narzędziem do scalania programu Visual Studio 2015. Więc po zainstalowaniu Update 3 musiałem również zaktualizować do najnowszego .NET Core, aby działał.
Gordon Glas
Wydaje się, że teraz jest to działające rozwiązanie dla VS 2015. Przynajmniej to rozwiązało moje problemy.
waka
5

Jeśli chodzi o mnie, zdałem sobie sprawę, że w rozwiązaniu był inny projekt internetowy, że mój VS2017 ładuje się poprawnie, więc skopiowałem jego ProjectTypeGuidselement do projektu, który się nie ładował. Jego różnica była następująca:

-    <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Po tym ładuje się. Nie pytaj mnie dlaczego.

ympostor
źródło
4

W moim przypadku był to niezgodny typ projektu. Edycja pliku projektu i usunięcie węzła ProjectTypeGuids rozwiązało problem z ładowaniem projektu (już przekierowałem wersję frameworka zgodnie z zaleceniami tutaj ).

Prawdopodobnie typ projektu nie jest obsługiwany w (najprawdopodobniej) NOWEJ wersji VS, więc będziesz musiał dostosować (zaktualizować) kod, aby działał poprawnie (jeśli to możliwe), ale przynajmniej możesz zobaczyć zawartość przez VS.

Joao Leme
źródło
0

U mnie pojawił się ten sam błąd w VS 2015 i właśnie zainstalowałem aktualizację VS 2015 1 , chociaż z innej odpowiedzi VS jest teraz w aktualizacji 3 (po czym dostali błąd i musieli zainstalować .NET Core ) . Miał problemy, gdy trafiał na niektóre pakiety, takie jak Windows SDK, i musiał skierować instalator z powrotem na ścieżki na moim oryginalnym dysku CD, a dla niektórych nawet to nie działało i musiało je pominąć i ponownie pobrać z komputer podłączony do internetu, przenieś je i uruchom później ręcznie (komputer nie był podłączony do internetu, aby móc pobrać zaktualizowane wersje pakietów), ale po wykonaniu tego wszystkiego i ponownym uruchomieniu, błąd zniknął i mój projekt załadowany poprawnie.

vapcguy
źródło
Ktoś to zlekceważył - czy chcesz to wyjaśnić? Odpowiedź to opis tego, co zrobiłem, aby mój działał - co polegało na wykonaniu aktualizacji 1 i pominięciu i ponownym pobraniu pakietów, na które skarży się podczas instalacji, lub wykonaniu aktualizacji 3 i .NET Core. Ponieważ nie przeszedłem do Update 3 / .NET Core, nie oznacza to, że ta odpowiedź jest błędna. Po prostu nie chciałem instalować kolejnej dużej pary aktualizacji. Komputer, na którym pracuję, nie jest podłączony do Internetu - jest podłączony do innego komputera, czyli z limitem transferu 5 MB. Dla innych z podobnymi problemami jak ja, jest to najbardziej opłacalna opcja.
vapcguy
0

Miałem ten problem i po godzinach odinstalowywania i ponownej instalacji znalazłem problem w moim wystąpieniu.

Powodem, dla którego to dostałem, był fakt, że nie miałem prawidłowego rozszerzenia .

W moim przypadku projekt ASP.net (mój startowy) był projektem niezgodnym, a to dlatego, że nie miałem następujących elementów:

  • Microsoft ASP.NET i narzędzia internetowe
  • Struktury i narzędzia sieci Web Micrsoft ASP.NET

To był prosty przypadek wejścia do rozszerzeń i aktualizacji w menu Narzędzia

Bal Jhand
źródło
0

Po zainstalowaniu aktualizacji Update 3 dla programu Visual Studio 2015 nagle pojawił się komunikat o błędzie „Ten projekt jest niezgodny z bieżącą wersją programu Visual Studio” podczas otwierania projektu Cordova ( plik projektu JavaScript .jsproj )

Aby rozwiązać ten problem:

  • Idź do Programy i funkcje
  • Wybierz instalację Microsoft Visual Studio 2015 i kliknij Zmień
  • Kliknij Zmień
  • Zainstaluj aktualizację „HTML / Javascript (Apache Cordova) Update 10” w sekcji Cross Platform Mobile Development
Philip Bijker
źródło
0

Wystąpił ten błąd i stwierdziłem, że jest to spowodowane obecnością znacznika XML „Import” w pliku .csproj.user. Gdy go usunąłem, Visual Studio mogło ponownie otworzyć projekt.

Craig
źródło
0

Większość ludzi zapomina o tym, że pliki Visual Studio to tylko pliki tekstowe, które mają pewne specyficzne konfiguracje, które pokażą programowi, jak je otworzyć. to znaczy, możemy to zmienić, ponieważ jest to tylko tekst w jakimś pliku w folderach twojego projektu.

Cóż, wiedząc o tym, to, co musimy zrobić, jest bardzo proste!

Pierwszym krokiem jest wiedzieć, jakiego rodzaju projekt to ten projekt, który pozostaje rozładowany. (na przykład: Class Library)

Drugim krokiem jest utworzenie nowej (Class Library), ponieważ wiesz, że Twoje studio wizualne stworzy obsługiwaną przez siebie wersję. Usuń ten i kliknij „Edytuj csproj”.

W tym pliku możemy znaleźć konfigurację, która mówi VS, jak ten projekt zostanie załadowany, a jego nazwa to ProjectGuid, ten numer seryjny różni się w zależności od typu i wersji projektu.

Teraz spójrz na swój "ok projekt", skopiuj TAG "ProjectGuid", wklej na csproj, który został wyładowany, i zwróć uwagę na drobne różnice i spraw, aby te pliki były prawie równe, z wyjątkiem tagów ItemGroup, które reprezentują odniesienia do projektu.

Robiąc to, zapisz wszystkie pliki i zamknij VS i otwórz ponownie, teraz twój projekt powinien załadować się normalnie.

Mam nadzieję, że te informacje pomogą komuś lepiej zrozumieć, jak działa VS i rozwiążą problemy, gdy zajdzie taka potrzeba.

Gustavo Pisani
źródło
0

Jeśli przyszedłeś tutaj i szukasz problemu z plikiem „.smproj”, jest to spowodowane brakiem usług SQL Server Analysis Services (SSAS). Aby temu zaradzić, zainstaluj SQL Server Data Tools (SSDT) ​​w swoim systemie, uruchom ponownie program Visual Studio i będzie działać.

Dzięki.

Ikhurana
źródło
-1

Ten problem może wystąpić podczas korzystania z VS 2015 z aktualizacją 3 zainstalowaną na jednym komputerze i bez aktualizacji 3 na innym. To był problem w moim przypadku.

Michiel Pater
źródło