Próbuję załadować moją witrynę i otrzymuję ten komunikat o błędzie:
Nierozpoznany atrybut „targetFramework”. Pamiętaj, że w nazwach atrybutów rozróżniana jest wielkość liter.
<compilation debug="true" targetFramework="4.0">
Witryna działa dobrze na moim komputerze lokalnym, ale nie otwiera się, gdy załaduję ją do mojego hosta i spróbuję wyświetlić online.
Odpowiedzi:
Zwykle dzieje się tak, gdy masz atrybut
targetFramework="4.0"
w pliku web.config, ale pula aplikacji jest ustawiona na uruchamianie programu ASP.NET 2.0.targetFramework
Atrybut jest zupełnie nierozpoznany przez ASP.NET 2.0 - tak zmieniając go do 2.0 nie będą miały pożądanego efektu.Skontaktuj się z pomocą techniczną / administratorem i ustaw AppPool na 4.0.
Możesz również całkowicie usunąć ten atrybut, jednak jeśli Twoja witryna została zakodowana w ramach 4.0, jestem pewien, że coś innego również spowoduje błąd.
źródło
Rejestracja w IIS działała dla mnie:
źródło
otwórz IIS (wpisz inetmgr w uruchomieniu) i zmień ustawienia puli aplikacji, Aby wyświetlić duży obraz Kliknij prawym przyciskiem myszy obraz i otwórz obraz w nowej karcie
źródło
W IIS
Kliknij Pule aplikacji
Kliknij prawym przyciskiem myszy DefaultAppPool --- >> Ustaw domyślną pulę aplikacji ....--- >> Zmień wersję .Net na V 4.0.
źródło
W menu Visual Studio:
źródło
Napotkałem ten sam problem podczas publikowania moich pierwszych serwisów internetowych. Rozwiązałem to, po prostu robiąc to:
Mam nadzieję, że zadziała.
źródło
dla IIS 7 spróbuj zgodnie z podanym obrazem ... oznacz mnie jako pomocnego, jeśli działa dla Ciebie.
źródło
Musiałem zarejestrować ASP.Net w IIS, aby uzyskać rozwiązanie w Windows Server 2008 R2. Zrzut ekranu poniższych poleceń
źródło
Zmień pulę aplikacji na docelową strukturę 4.0 zamiast klasycznej.
źródło
Używam IIS Express zamiast IIS.
Problem był w pliku applicationhost.config znajdującym się w: {folder_produktu} \. Vs \ config \ applicationhost.config.
Jedna z pozycji puli aplikacji miała wartość managedRuntimeVersion „v2.0”. Zmieniłem go na „v4.0” i działało poprawnie.
Jestem całkiem pewien, że główną przyczyną był jeden z pakietów NuGet, które niedawno zainstalowałem.
źródło
Otwórz projekt -> naciśnij Shift + F4 (Otwórz stronę właściwości) -> Wybierz kompilację -> w Target Framework wybierz .NET Framework 4 -> OK
źródło
Utwórz nową pulę, wybierając .Net Framework v4.0.3xxxxx
użyj trybu Zarządzaj potokiem: zintegrowany
Przypisz go do swojej witryny i gotowe.
źródło
Aby rozwiązać ten problem, po prostu kliknij ikonę wersji ASP.NET w sekcji Narzędzia witryny w Panelu sterowania, aby przełączyć strukturę na 4.0.
źródło
Miałem ten błąd z nieudanej kompilacji MSBuild , w pliku projektu przekonwertowanym z wcześniejszej wersji VS na VS2010 i .NET 4.0. W rzeczywistości był to projekt wdrożenia internetowego, a rozwiązaniem, które działało dla mnie, było dodanie następujących wpisów do sekcji PropertyGroup na początku pliku MSBuild :
Być może są one automatycznie aktualizowane, gdy inne typy projektów są konwertowane w VS2010, ale brakowało ich w pliku projektu Web Deployment po jego konwersji.
źródło
Co zrobiłem: zmieniłem wartość puli aplikacji na DefaultAppPool z poprzedniej wartości. Robisz to w Ustawieniach zaawansowanych (Strona internetowa -> Zarządzaj witryną -> Ustawienia zaawansowane>.
źródło
Ten sam problem wystąpił także podczas lokalnego uruchamiania mojej aplikacji, co wskazuje na .Net Framework 4.7.1. Błąd to „ Nierozpoznany atrybut TargetFrameWork ”, jak pokazano poniżej.
Ale żadna z powyższych odpowiedzi mi nie pomogła. W końcu, kiedy zmieniłem mój obecny numer portu (1413) na inną wartość (60179), jak pokazano poniżej, działało to dobrze dla mnie, ale nie jestem pewien z tego powodu, ale zadziałało.
źródło
Właśnie miałem to w VS 2010.
Naprawiono przez edycję pliku .sln i zmianę TargetFrameworkMoniker, aby przypisano mu wartość „.NETFramework, wersja% 3Dv4.0” .
źródło
Jeśli skompilujesz pliki, a wartość „targetFramework” zostanie ustawiona jako konkretna wersja, tj. 4.0,
Upewnij się, że host działa w środowisku .net zgodnie z podaną tą samą wersją.
Jeśli nie, pobierz .NET Framework.
Po pobraniu, jeśli nie jest automatyczne ustawianie w menedżerze IIS korzystania z rozszerzenia nowo pobranej wersji środowiska .net,
dodaj rozszerzenie ręcznie, przechodząc do folderu ostatnio pobranego środowiska .NET przez menedżera IIS:
1. kliknij folder strony prawym przyciskiem myszy
2. przejdź do „Właściwości”
3. w „katalogu wirtualnym” kliknij „konfiguracja”
4. edytuj wykonywalną ścieżkę rozszerzenia „.aspx” (której ścieżka wskazuje na wersję inną niż wersja ostatnio pobranego frameworku .net) do właściwej ścieżki, która jest folderem NOWO pobranej wersji frameworka .net a następnie wybierz plik „aspnet_isapi.dll”.
5. kliknij OK!
źródło
Wystarczy usunąć „Target Framework 4.0” i zamknąć wspornik.
To będzie działać
źródło
Wykonaj następujące dwa kroki:
Zarejestruj wersję .NET Framework w wersji 4.0 (jeśli nie jest zarejestrowana)
C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis -i
W puli aplikacji zmień środowisko .net na v4.0
źródło
Jeśli zainstalujesz IIS po instalacji .Net FrameWork. Musisz ponownie zainstalować .NET Framework dla IIS. Więc wszystko, co musimy zrobić, to uruchomić
aspnet_regiis -i
. Mam nadzieję, że to jest pomocne.źródło
Zobaczył błąd „Nierozpoznany atrybut„ targetFramework ”na stronie„ Wyjście konsoli ”Jenkinsa na serwerze kompilacji. Było to po zmianie „docelowej struktury” dla kilku projektów z „.NET Framework 3.5” na „.NET Framework 4” i zatwierdzeniu moich zmian.
W Jenkins ustawienia projektu musiały zostać zmienione. W przypadku rozwiązania „MSBuild Version” musiała zostać zmieniona z „v3.5” na „v4.0”.
źródło
Właśnie ten problem polegał na wdrażaniu nowej aplikacji na starym urządzeniu IIS. Badanie doprowadziło do zainstalowania środowiska wykonawczego wer. 4.5.1, ale aplikacja wymagająca wer
Nie wymagano niczego poza instalacją poprawnej wersji środowiska wykonawczego ASP .Net.
źródło
Możliwe, że masz własny plik proj MSBUILD i korzystasz z
<AspNetCompiler>
zadania. W takim przypadku należy dodaćToolPath
plik .NET4.źródło
Dla warstw, wystarczy zmienić wersję targetFramework tylko w pliku web.config, inne rzeczy nie wymagają zmiany.
źródło
Miałem ten sam problem i znalazłem ten ładny skrypt poweshell do aktualizacji wszystkich pul aplikacji w tym samym czasie: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
Upewnij się, że ustawiłeś
$IISAppPoolDotNetVersion = "v4.0"
zmienną na górze.źródło
wykonanie 2 kroków wymusi odświeżenie pamięci podręcznej Visual Studio i IIS Express i zwykle rozwiąże moje podobne problemy:
źródło
Zmiana numeru portu dla rozwoju lokalnego pomogła mi Dzięki @Rinay Ashokan. Zrobiłem wszystkie kłopoty i w końcu odkryłem, że konfiguracje projektu są przechowywane w IIS express dla numeru portu.
źródło
Dla każdego, kto nie ma IIS uruchomionych na swoim komputerze deweloperskim, oto, co mi się przydarzyło: miałem jedną stronę internetową, nadpisaną plikami z witryny diff, która miała 4, podczas gdy poprzednia była 3.5. Mam ten błąd. Naprawiono to po prostu poprzez zmianę nazwy katalogu strony internetowej, która na komputerze deweloperskim może być dowolna, więc nie ma problemu. Powyższe są zapewne bardziej eleganckie, ale czasami proste prace, JEŚLI możesz to zrobić, tj. Jesteś w dev, a nie QA lub Prod.
źródło