IIS8 Win8 und runAllManagedModulesForAllRequests = "true"

84

Ich versuche, eine Anwendung in IIS8 auszuführen, die in der Konfiguration Folgendes enthält:

<modules runAllManagedModulesForAllRequests="true" />

IIS8 gibt mir einen Fehler, der besagt ...

Dieser Konfigurationsabschnitt kann unter diesem Pfad nicht verwendet werden. Dies geschieht, wenn der Abschnitt auf übergeordneter Ebene gesperrt ist. Das Sperren erfolgt entweder standardmäßig (overrideModeDefault = "Deny") oder wird explizit durch ein Standort-Tag mit overrideMode = "Deny" oder dem Legacy allowOverride = "false" festgelegt.

Ich vermute durch den Fehler und eine schnelle SO-Suche, dass es eine höhere Sicherheitseinstellung gibt, die verhindert, dass diese Zeile zugelassen wird. Irgendwelche Ideen?

David Sulpy
quelle

Antworten:

148

Ich habe das gleiche Problem gelöst, indem ich die Fensterfunktionen "Internetinformationsdienst / World Wide Web Service / Anwendungsentwicklung / ASP.NET xx" in der Systemsteuerung von Windows8 installiert habe. Wenn Sie unter Windows Server 2012 Einstellungen vornehmen möchten, gibt Ihnen der folgende Link einen Hinweis. http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45

hoffe, dass es klappt.

taky.kim
quelle
2
Genau das ist es ... Ich habe diese Funktionen in Windows 8 einfach nicht aktiviert. Vielen Dank für die Antwort!
David Sulpy
Das ist wirklich ein Problem, das IIS8 beim Bereitstellen als Fehler betrachtet.
Johnny_D
1
Toll ! Arbeitete unter Windows 8
Sanoop
1
Dies ist auch die Lösung unter Windows 10. Vielen Dank!
Yang You
15

Für diejenigen unter Ihnen, die Windows Server 2012 ausführen, finden Sie die Anwendungsentwicklungsfunktionen unter

[] Server Roles [] Web Server IIS [] Web Server [] Application Development [] ASP.NET x.x

Wenn Sie die .NET-Version auswählen, werden Sie gefragt, ob Sie Erweiterungen und andere Funktionen hinzufügen möchten. Ich habe nur Ja gesagt, aber Sie können möglicherweise davonkommen, ohne diese zu installieren.

TheDude
quelle
1

Es ist schwierig, hier eine spezifische Antwort zu geben, aber die Grundlagen dafür sind, dass Sie sich die machine.config für die Box ansehen müssen, auf der Sie ausgeführt werden. Suchen Sie den system.webServerKnoten und suchen Sie nach den 3 Tags / Attributen, auf die im Fehler verwiesen wird. Möglicherweise finden Sie etwas, das als nicht überschreibbar ( allowOverride="false") markiert ist , aber ich habe noch nicht mit Windows 8 / Server 2012 herumgespielt, sodass ich nicht weiß, wie die machine.config aussieht.

Nathan Gonzalez
quelle
Interessanterweise C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.configgibt es keinen system.webServer-Abschnitt, obwohl das wie die Antwort
klingt