2011-11-10 12 views
42

Powiel możliwe:
Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitivenierozpoznany atrybut „targetframework”

Po pierwsze, chciałbym powiedzieć, że jestem świadomy, że to pytanie zostało zadane kilka razy w tym miejscu - ale odpowiedzi na wszystkie te kwestie nie rozwiązują mojego problemu.

widzę następujący problem, gdy próbuję dodać nowy zarządzanej obsługi w IIS7:

Nierozpoznany atrybut „targetFramework”. Pamiętaj, że w nazwach atrybutów rozróżniana jest wielkość liter.

Środowisko to Windows Server Enterprise 2008 SP1 z zainstalowanym IIS7.

Moja aplikacja korzysta z .NET 4.0. .NET Framework został zainstalowany po IIS:

próbowałem/sprawdzane następujące:

  • Moja aplikacja basen jest za pomocą .NET 4.0 (mam jedną wersję .NET 4.0 zainstalowany, nie beta na etc .)
  • Zapewniona .NET 4.0 jest poprawnie zarejestrowana w IIS przy użyciu "aspnet_regiis.exe -iru".
  • Przetworzono ponownie pulę aplikacji, zrestartowano komputer.
  • Całkowicie odinstalowano .NET 4.0, a następnie ponownie zainstalowano.
  • Usunięto atrybut "targetFramework" - powoduje to awarię w innym miejscu.

W moim przypadku wygląda na to, że IIS nadal odwołuje się do poprzedniej wersji .NET, chociaż moje paczki aplikacji w IIS mówią mi, że używają .NET 4.0.

Moja strona ładuje się dobrze, ale nie mogę skonfigurować mojej niestandardowej procedury obsługi obrazu z powodu tego problemu.

Byłbym bardzo wdzięczny za radę.

Dzięki.

UPDATE

To szaleństwo .. ja całkowicie przebudowany przez środowiska od podstaw:

  • Pobierz 'Windows Server Enterprise bez Hyper V SP1' z MSDN.
  • zainstalować .NET 4.0
  • zainstalować ASP.NET MVC 3
  • Dodaj roli 'Serwer' - zapewnia App Basen jest za pomocą .NET 4.0
  • wdrożyć mój projekt

Ten sam błąd występuje, gdy próbuję dodać niestandardowe mapowanie hanldera. Robię coś niepoprawnego/całkowicie głupiego lub jest jakiś problem z IIS7 w tej konfiguracji.Usługi IIS nie rozpoznają atrybutu "targetFramework" z .NET 4.0, mimo że moja pula aplikacji jest skonfigurowana do korzystania z .NET 4.0.

Jeśli używam polecenia "aspnet_regiis -lv", to mówi mi, że tylko .NET 4 jest zarejestrowany w IIS.

+0

Nie wspomniano próbuje tego rozwiązania: http://stackoverflow.com/questions/5420094/unrecognized-attribute-targetframework-in- Podfolder 4-0-site-with-02-0 – Rob

+0

Sprawdziłem to - moja wersja IIS to 7, a katalog wirtualny zdecydowanie używa .NET 4.0 (przynajmniej według IIS). W tym momencie rozważam przebudowanie całego środowiska od zera. –

+0

Jaki jest dokładny numer wersji .NET wyświetlany w puli aplikacji? Czy to "4.0.21006.1"? Czy mógłbyś pokazać, jak wygląda Twój web.config? –

Odpowiedz

62

Rejestrowanie ram z IIS jest co pracował dla mnie:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i 
+1

Wielkie dzięki, to działało również dla mnie. –

+4

Zauważ, że '>' tam, pomyliłem to dla pełnej ścieżki. –

+1

Naprawdę nie rozumiem, dlaczego to powinno być konieczne podczas instalacji IIS z asp.net jako wybraną funkcję:/ – Ortund

29

Czy masz konfigurację witryny w węźle witryny "Domyślna witryna sieci Web" lub czy utworzyłeś nową witrynę w usługach IIS? Jeśli utworzyłeś nową stronę, spróbuj przejść do "Domyślnej witryny internetowej" i zmień jej pulę aplikacji z "DefaulAppPool" na "Asp.Net v4.0". Wiem, że "Domyślna witryna internetowa" nie powinna mieć nic wspólnego z twoją witryną, ale przeczytałem ją w niektórych sytuacjach, które pomogły rozwiązać problem. Ponadto, aby uzyskać obsługę niestandardowego programu obsługi obrazu, spróbuj użyć bezobsługowej procedury obsługi HTTP z rozszerzeniem pliku .ashx. W ten sposób możesz uruchomić program obsługi obrazów (do czasu rozwiązania tego problemu) bez konieczności rejestrowania go w usługach IIS.

+0

To osobna strona w IIS uruchomiona na innym porcie. Moja domyślna strona internetowa działa w tej samej puli aplikacji .NET 4.0. Jedna rzecz, którą właśnie zauważyłem, że pod IIS -> .NET Kompilacja -> Ogólne -> Zespoły, wszystkie zestawy wydają się wskazywać na wersję 2.0 –

+1

Ja też mam większość IIS >> Kompilacja NET >> Ogólne >> Zespoły wskazujące na wersja 2.0, a kilka innych wskazuje na 3.0 i 3.5. To po prostu identyfikuje wersję .net, z której zbudowane są te zespoły. Nie jestem pewien, czy ma to coś wspólnego z twoim problemem. – bbeny

+0

Dziękujemy! To działało dla mnie. Absolutnie szalony. Czy to błąd? –

Powiązane problemy