it-swarm.com.de

Nicht erkanntes Attribut 'targetFramework'. Beachten Sie, dass bei Attributnamen die Groß- und Kleinschreibung beachtet wird

Ich versuche meine Seite hochzuladen und bekomme folgende Fehlermeldung:

Nicht erkanntes Attribut 'targetFramework'. Beachten Sie, dass bei Attributnamen die Groß- und Kleinschreibung beachtet wird.

<compilation debug="true" targetFramework="4.0">

Die Site funktioniert auf meinem lokalen PC einwandfrei, lässt sich jedoch nicht öffnen, wenn ich sie auf meinen Host geladen und versucht habe, sie online anzuzeigen.

402
Mike Nacci

Dies ist normalerweise der Fall, wenn Sie in der Datei web.config das Attribut targetFramework="4.0" haben, der Anwendungspool jedoch auf die Ausführung von ASP.NET 2.0 eingestellt ist. Das targetFramework -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 stellen Sie den AppPool auf 4.0 um.

Sie können das Attribut auch vollständig entfernen. Wenn Ihre Site jedoch mit dem 4.0-Framework codiert wurde, kann wahrscheinlich auch etwas anderes einen Fehler verursachen.

591
vcsjones

Das Registrieren des Frameworks bei IIS hat bei mir funktioniert:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
80
kenik

In IIS

Klicken Sie auf Anwendungspools

Klicken Sie mit der rechten Maustaste auf DefaultAppPool --- >> Anwendungspool-Standard festlegen ....--- >> Ändern Sie die .Net-Version auf V 4.0.

42

öffne dein IIS (tippe inetmgr in run) und ändere deine Einstellungen für den Anwendungspool enter image description here

42
Ankit

Im Visual Studio-Menü:

Website -> Startoptionen -> Registerkarte "Erstellen" -> Zielframework im Dropdown-Feld auswählen (.NET FrameWork 4)

25
elaiyaraja

Ich hatte das gleiche Problem beim Veröffentlichen meiner ersten Webdienste. Ich habe es einfach so gelöst:

  1. Öffnen Sie IIS

  2. Klicken Sie auf Anwendungspools

  3. Klicken Sie mit der rechten Maustaste auf DefaultAppPool => Anwendungspool-Standard festlegen => .Net-Version auf V 4.0 ändern. (Sie können auch die .NET Framework-Version Ihrer Anwendung speziell ändern.)

Hoffe, es wird klappen.

12
Arsman Ahmad

für IIS 7 versuchen Sie es gemäß dem angegebenen Bild ... markieren Sie mich als hilfreich, wenn es für Sie funktioniert.

enter image description here

8
gm arif

Ich musste ASP.Net in IIS registrieren, um es in Windows Server 2008 R2 zu beheben. Screenshot der folgenden Befehle

cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319

iisreset /stop

aspnet_regiis -i

iisreset /start

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll'].allowed:True 

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll'].allowed:True 

enter image description here

8
Lijo

Ändern Sie den Anwendungspool auf Zielframework 4.0 anstatt auf Classic.

  1. RC-Website -> Website verwalten-> Erweiterte Einstellungen>
  2. die erste Option wechselt von Classic zu Framework 4 integriert.
5
dev.Magdy

Ich verwende IIS Express und nicht IIS.

Das Problem lag in der Datei applicationhost.config vor, die sich in folgendem Verzeichnis befand: {solution_folder} \. Vs\config\applicationhost.config.

Einer der Anwendungspooleinträge hatte einen managedRuntimeVersion-Wert von "v2.0". Ich habe es auf "v4.0" geändert und es hat richtig funktioniert.

Ich bin mir ziemlich sicher, dass die Ursache eines der NuGet-Pakete war, die ich kürzlich installiert hatte.

    <system.applicationHost>
       <applicationPools>
          <add name="BadAppPool1" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
       </applicationPools>
    </system.applicationHost>
4
NightShovel

Projekt öffnen -> drücken Sie mschalt + F4 (Eigenschaftenseite öffnen) -> Wählen Sie Erstellen -> in Ziel-Framework wählte . NET Framework 4 -> OK

4
Chưa biết

Erstellen Sie einen neuen Pool, indem Sie .Net Framework v4.0.3xxxxx auswählen

verwenden Sie den Pipeline-Verwaltungsmodus: Integriert

Weisen Sie es Ihrer Site zu und fertig.

3
Ali Adravi

Ich hatte diesen Fehler von 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 funktioniert hat, bestand darin, die folgenden Einträge in den Abschnitt PropertyGroup am Anfang der Datei MSBuild einzufügen:

<ProductVersion>10.0.11107</ProductVersion>

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Möglicherweise werden diese automatisch aktualisiert, wenn andere Projekttypen in VS2010 konvertiert werden, aber nach der Konvertierung fehlten sie in meiner Web Deployment-Projektdatei.

2
ergolargo

Um dieses Problem zu beheben, klicken Sie einfach auf das ASP.NET-Versionssymbol im Abschnitt Site Tools der Systemsteuerung, um das Framework auf 4.0 umzustellen.

2
Sumanuski

Was ich getan habe: Ich habe den Wert des Anwendungspools von einem vorherigen Wert in DefaultAppPool geändert. Sie tun dies in den erweiterten Einstellungen (Website -> Website verwalten -> Erweiterte Einstellungen>).

2
Eldon

Hatte das gerade in VS 2010.

Behoben, indem die .sln-Datei bearbeitet und TargetFrameworkMoniker so geändert wurde, dass der Wert ". NETFramework, Version% 3Dv4.0" zugewiesen wurde.

1
Matt

Das gleiche Problem trat auch auf, als ich meine Anwendung lokal ausführte, die auf .Net Framework 4.7.1 verweist. Der Fehler war " Nicht erkanntes Attribut TargetFrameWork " wie unten gezeigt. enter image description here

Aber keine der obigen Antworten hat mir geholfen. Als ich zuletzt meine aktuelle Portnummer (1413) in einen anderen Wert (60179) änderte, funktionierte dies einwandfrei Aber ich bin mir nicht sicher, warum das so ist, aber es hat funktioniert.

enter image description here

1
Rinoy Ashokan

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 benötigte

Außer der Installation der richtigen Version von ASP .Net war keine weitere Laufzeit erforderlich.

0
rob

die folgenden zwei Schritte erzwingen eine Aktualisierung des Visual Studio- und IIS Express-Caches und lösen normalerweise meine ähnlichen Probleme:

  1. Wechseln Sie einfach das Project Framework von 4+ auf .Net Framework 3.5 und führen Sie es aus
  2. Wenn es erfolgreich lief, können Sie es auf Ihr gewünschtes 4+ Zielframework zurücksetzen und sehen, dass es wahrscheinlich wieder funktionieren wird.
0
Iman Abidi

Wenn Sie die Dateien kompilieren und der Wert von "targetFramework" auf eine bestimmte Version festgelegt ist, d. H. 4.0,

Stellen Sie sicher, dass auf dem Host das .NET Framework mit der angegebenen Version ausgeführt wird.

Wenn nicht, laden Sie das .net-Framework herunter.

Wenn nach dem Herunterladen nicht automatisch festgelegt wird, dass im IIS-Manager 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 Websiteordner

2. gehe 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) auf den richtigen Pfad, der sich im Ordner der NEU heruntergeladenen Version von .net-Framework befindet Wählen Sie dann die Datei "aspnet_isapi.dll" aus.

5.Klicke auf OK!

0
Feed

Möglicherweise haben Sie eine eigene MSBUILD-Projektdatei und verwenden die Task <AspNetCompiler>. In diesem Fall sollten Sie ToolPath für .NET4 hinzufügen.

<AspNetCompiler
    VirtualPath="/MyFacade"
    PhysicalPath="$(MSBuildProjectDirectory)\MyFacade\"
    TargetPath="$(MSBuildProjectDirectory)\Release\MyFacade"
    Updateable="true"
    Force="true"
    Debug="false"
    Clean="true"
    ToolPath="C:\Windows\Microsoft.NET\Framework\v4.0.30319\">      
</AspNetCompiler>
0
intrepidis

Der Fehler "Nicht erkanntes Attribut 'targetFramework'" wurde auf der Seite 'Konsolenausgabe' von Jenkins auf einem Buildserver angezeigt. Dies geschah, nachdem ich das "Zielframework" für mehrere Projekte von ".NET Framework 3.5" auf ".NET Framework 4" geändert und meine Änderungen übernommen 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.

0
mathijsuitmegen

Ich hatte das gleiche Problem und fand, dass dieses nette Poweshell-Skript alle Ihre App-Pools gleichzeitig aktualisiert: https://gallery.technet.Microsoft.com/scriptcenter/How-to-set-the- IIS-9c295a2

Stellen Sie sicher, dass Sie die Variable $IISAppPoolDotNetVersion = "v4.0" oben setzen.

0
Hector S.

Ändern Sie zum Überlagern nur die Version von targetFramework in der Datei web.config, die anderen Einstellungen müssen nicht geändert werden.

0
Cheah Eng Teong

Entfernen Sie einfach das "Target Framework 4.0" und schließen Sie die Halterung.

Es wird klappen

0
Vignesh

Wenn Sie IIS nach der Installation von .Net FrameWork installieren. Sie müssen das .NET-Framework für IIS erneut installieren. Also müssen wir nur aspnet_regiis -i ausführen. Hoffe es ist hilfreich.

0
Joe.wang

Befolgen Sie diese beiden Schritte:

Registrieren Sie die .NET Framework-Version 4.0 (falls nicht registriert)

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

  2. Ändern Sie im App-Pool das .net-Framework auf v4.0

0
SharpCoder