Ich versuche, meine Website hochzuladen und erhalte die folgende Fehlermeldung:
Nicht erkanntes Attribut 'targetFramework'. Beachten Sie, dass bei Attributnamen zwischen Groß- und Kleinschreibung unterschieden wird.
<compilation debug="true" targetFramework="4.0">
Die Site funktioniert auf meinem lokalen PC einwandfrei, wird jedoch nicht geöffnet, wenn ich sie auf meinen Host geladen und versucht habe, sie online anzuzeigen.
Antworten:
Dies geschieht normalerweise, wenn Sie ein Attribut von
targetFramework="4.0"
in der web.config haben, der App-Pool jedoch so eingestellt ist, dass ASP.NET 2.0 ausgeführt wird. DastargetFramework
Attribut wird von ASP.NET 2.0 nicht erkannt. Wenn Sie es also in 2.0 ändern, hat dies nicht den gewünschten Effekt.Wenden Sie sich an den Support / Ihren Administrator und lassen Sie den AppPool auf 4.0 umstellen.
Sie können das Attribut auch vollständig entfernen. Wenn Ihre Site jedoch mit dem 4.0 Framework codiert wurde, führt sicher auch ein anderer Fehler aus.
quelle
Die Registrierung des Frameworks bei IIS hat für mich funktioniert:
quelle
Öffnen Sie Ihren IIS (geben Sie inetmgr in run ein) und ändern Sie die Einstellung für den Anwendungspool. Um dieses Bild groß anzuzeigen, klicken Sie mit der rechten Maustaste auf Bild und öffnen Sie das Bild auf einer neuen Registerkarte
quelle
In IIS
Klicken Sie auf Anwendungspools
Klicken Sie mit der rechten Maustaste auf DefaultAppPool --- >> Standard für Anwendungspool festlegen ....--- >> Ändern Sie die .Net-Version in V 4.0.
quelle
Im Visual Studio-Menü:
quelle
Bei der Veröffentlichung meiner ersten Webdienste hatte ich das gleiche Problem. Ich habe es einfach so gelöst:
Hoffe, es wird funktionieren.
quelle
Versuchen Sie es mit IIS 7 gemäß dem angegebenen Bild. Markieren Sie mich als hilfreich, wenn es für Sie funktioniert.
quelle
Ich musste ASP.Net in IIS registrieren, um es in Windows Server 2008 R2 aufzulösen. Screenshot der unten aufgeführten Befehle
quelle
Ändern Sie den Anwendungspool in Zielframework 4.0 anstelle von klassisch.
quelle
Ich verwende IIS Express anstelle von IIS.
Das Problem befand sich in der Datei applicationhost.config in: {Lösungsordner} \. Vs \ config \ applicationhost.config.
Einer der Anwendungspooleinträge hatte den Wert "manageRuntimeVersion" von "v2.0". Ich habe es in "v4.0" geändert und es hat richtig funktioniert.
Ich bin mir ziemlich sicher, dass die Hauptursache eines der NuGet-Pakete war, die ich kürzlich installiert hatte.
quelle
Projekt öffnen -> Presse Shift + F4 (Open Eigenschaftenseite) -> Wählen Sie Erstellen -> in Target Framework wählte .NET Framework 4 -> OK
quelle
Erstellen Sie einen neuen Pool, indem Sie .Net Framework v4.0.3xxxxx auswählen
Verwenden Sie den Pipeline-Modus verwalten: Integriert
Weisen Sie es Ihrer Site zu und fertig.
quelle
Um dieses Problem zu beheben, klicken Sie einfach auf das Symbol ASP.NET-Version im Abschnitt Site Tools der Systemsteuerung, um das Framework auf 4.0 umzustellen.
quelle
Ich hatte diesen Fehler aufgrund einer fehlgeschlagenen MSBuild- Kompilierung in einer Projektdatei, die von einer früheren Version von VS in VS2010 und .NET 4.0 konvertiert wurde. Es war eigentlich ein Web Deployment-Projekt, und die Lösung, die für mich funktionierte, bestand darin, die folgenden Einträge in den Abschnitt PropertyGroup am Anfang der MSBuild- Datei einzufügen :
Möglicherweise werden diese automatisch aktualisiert, wenn andere Projekttypen in VS2010 konvertiert werden, aber sie fehlten nach der Konvertierung in meiner Web Deployment-Projektdatei.
quelle
Was ich getan habe: Ich habe den Wert des Anwendungspools von einem vorherigen Wert in DefaultAppPool geändert. Dies tun Sie in den erweiterten Einstellungen (Website -> Website verwalten -> Erweiterte Einstellungen>.
quelle
Ich habe auch das gleiche Problem beim lokalen Ausführen meiner Anwendung, das auf .Net Framework 4.7.1 verweist. Der Fehler war " Nicht erkanntes Attribut TargetFrameWork ", wie unten gezeigt.
Aber keine der obigen Antworten hat mir geholfen. Als ich endlich meine aktuelle Portnummer (1413) in einen anderen Wert (60179) geändert habe, wie unten gezeigt, hat es für mich gut funktioniert. Aber ich bin mir aus dem tatsächlichen Grund nicht sicher, aber es hat funktioniert.
quelle
Hatte dies gerade in VS 2010.
Dies wurde behoben , indem die SLN-Datei bearbeitet und der TargetFrameworkMoniker so geändert wurde , dass ihm der Wert ".NETFramework, Version% 3Dv4.0" zugewiesen wurde.
quelle
Wenn Sie die Dateien kompilieren und der Wert von "targetFramework" als eine bestimmte Version festgelegt ist, z. B. 4.0,
Stellen Sie sicher, dass auf dem Host das .net-Framework mit derselben angegebenen Version ausgeführt wird.
Wenn nicht, laden Sie das .net-Framework herunter.
Wenn nach dem Herunterladen im IIS-Manager nicht automatisch festgelegt wird, dass die Erweiterung der neu heruntergeladenen Version des .net-Frameworks verwendet wird,
Fügen Sie die Erweiterung manuell hinzu, indem Sie in den Ordner des kürzlich heruntergeladenen .net-Frameworks über den IIS-Manager wechseln:
1. Klicken Sie mit der rechten Maustaste auf den Website-Ordner
2. Gehen Sie zu "Eigenschaften"
3. Klicken Sie unter "Virtuelles Verzeichnis" auf "Konfiguration".
4. Bearbeiten Sie den ausführbaren Pfad der Erweiterung ".aspx" (von dem der Pfad auf eine andere Version als die Version des kürzlich heruntergeladenen .net-Frameworks verweist) in den richtigen Pfad, der der Ordner der NEU heruntergeladenen Version des .net-Frameworks ist und wählen Sie dann die Datei "aspnet_isapi.dll" aus.
5.Klicken Sie auf OK!
quelle
Entfernen Sie einfach das "Target Framework 4.0" und schließen Sie die Halterung.
Es wird klappen
quelle
Befolgen Sie diese beiden Schritte:
Registrieren Sie die .net Framework-Version Version 4.0 (falls sie nicht registriert ist).
C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis -i
Ändern Sie im App-Pool das .net-Framework in Version 4.0
quelle
Wenn Sie den IIS nach der Installation von .Net FrameWork installieren. Sie müssen das .net-Framework für IIS erneut installieren. Wir müssen also nur rennen
aspnet_regiis -i
. Hoffe es ist hilfreich.quelle
Der Fehler "Nicht erkanntes Attribut 'targetFramework'" wurde auf der Seite "Konsolenausgabe" von Jenkins auf einem Build-Server angezeigt. Dies geschah, nachdem ich das 'Zielframework' für mehrere Projekte von '.NET Framework 3.5' in '.NET Framework 4' geändert und meine Änderungen festgeschrieben hatte.
In Jenkins mussten die Projekteinstellungen geändert werden. Für die Lösung musste die 'MSBuild Version' von 'v3.5' auf 'v4.0' geändert werden.
quelle
Hatte gerade dieses Problem beim Bereitstellen einer neuen App auf einer alten IIS-Box. Die Untersuchung führte dazu, dass die Laufzeit von Version 4.5.1 installiert wurde, die App jedoch Version 4.5.2 erfordert
Außer der Installation der richtigen Version von ASP .Net Runtime war nichts erforderlich.
quelle
Möglicherweise haben Sie eine eigene MSBUILD-Projektdatei und verwenden die
<AspNetCompiler>
Aufgabe. In diesem Fall sollten Sie dasToolPath
für .NET4 hinzufügen .quelle
Zum Überlagern ändern Sie einfach die Version von targetFramework nur in der Datei web.config, die anderen Dinge müssen nicht geändert werden.
quelle
Ich hatte das gleiche Problem und fand dieses nette Poweshell-Skript, um alle Ihre App-Pools gleichzeitig zu aktualisieren: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
Stellen Sie sicher, dass Sie oben eine
$IISAppPoolDotNetVersion = "v4.0"
Variable festlegen .quelle
Die folgenden zwei Schritte erzwingen die Aktualisierung des Visual Studio- und IIS Express-Cache und lösen normalerweise meine ähnlichen Probleme:
quelle
Das Ändern der Portnummer für die lokale Entwicklung hat mir geholfen. Danke @Rinay Ashokan. Ich habe alle Fehlerbehebungen durchgeführt und schließlich festgestellt, dass die Projektkonfigurationen im IIS Express für die Portnummer gespeichert sind.
quelle
Für alle, die dies haben und auf deren Entwicklungs-PC kein IIS ausgeführt wird, ist Folgendes passiert: Ich hatte eine Website auf, die mit Dateien von einer Diff-Website überschrieben wurde, die 4 war, während die vorherige 3,5 war. Habe diesen Fehler. Es wurde einfach durch Ändern des Verzeichnisnamens der Website behoben, was auf einem Entwicklungs-PC alles sein kann, also kein Problem. Die oben genannten sind wahrscheinlich eleganter, um sicher zu sein, aber manchmal funktionieren sie einfach, WENN Sie damit durchkommen können, dh Sie sind eher in der Entwicklung als in der Qualitätssicherung oder im Prod.
quelle