Ich habe ein Problem mit meiner Website.
Ich habe die Website entwickelt und wenn ich F5 drücke, um die Ergebnisse zu sehen, wird mir dieser Fehler angezeigt
Beschreibung : Die Anwendung hat versucht, eine Operation auszuführen, die von der Sicherheitsrichtlinie nicht zugelassen wurde. Um dieser Anwendung die erforderliche Berechtigung zu erteilen, wenden Sie sich an Ihren Systemadministrator oder ändern Sie die Vertrauensstufe der Anwendung in der Konfigurationsdatei.
Ausnahmedetails : System.Security.SecurityException: Anforderung für die Berechtigung vom Typ 'System.Web.AspNetHostingPermission, System, Version = 2.0.0.0, Culture = Neutral, PublicKeyToken = b77a5c561934e089' fehlgeschlagen.
Wie kann ich dieses Problem lösen?
Dieser Fehler tritt normalerweise auf, wenn Sie Ihren Anwendungsordner auf dem Netzwerklaufwerk zuordnen oder die Lösungsdatei von UNC Path öffnen. so etwas wie:
Ungültiges Beispiel: \\ my-server \ my-project
Versuchen Sie, Ihre Lösung aus dem direkten Pfad zu öffnen
Gültiges Beispiel: C: \ Project \ MyProject
Sie können auch Ihre Berechtigung für App-Pool-Identität ändern, es wird jedoch nicht empfohlen:
Webserver (IIS) & gt; App-Pool-Identität & gt; Erweiterte Einstellungen & gt; Legen Sie Identität als Netzwerkdienst
fest
Ich habe alle hier geposteten Lösungen und eine Reihe anderer Orte ausprobiert und nichts hat für mich funktioniert. Ich hatte mein Projekt auf einem Netzlaufwerk, das funktionierte, bis ich versuchte, das AjaxControlToolkit 2.0 in meinem Projekt zu verwenden. Offenbar würde etwas über Berechtigungen auf dem Netzlaufwerk nicht zulassen, dass die Steuerelemente im Toolkit ausgeführt werden. Ich habe mein Projekt zurück auf meine lokale Festplatte verschoben und alles hat funktioniert.
Für seinen Wert habe ich festgestellt, dass AjaxControlKit.dll
auf dem bereitgestellten Server blockiert wurde. Um dies zu beheben, kopierte ich die DLL in einen neuen Ordner und kopierte sie anschließend in den Ordner bin
. Ich denke, .net mag es nicht, wenn eine DLL direkt in den Web-Ordner kopiert wird
Ich stehe vor dem gleichen Problem, und dann merkte ich, dass ich die Lösung von einem Remote-Ordner aus ausgeführt habe. Kopieren Sie die erforderliche Datei in den lokalen Ordner, um das Problem zu beheben. Stellen Sie jedoch sicher, dass Ihr Ordner die volle Berechtigung hat.
Ich hatte dieses Problem auch, aber ich habe diese spezielle Lösung nirgends erwähnt.
Nachdem ich die Berechtigungen für den IIS-Benutzer, den Identitätswechsel und die Gewährung der vollständigen Vertrauenswürdigkeit für die Anwendung überprüft habe, habe ich Procmon.exe auf dem Server mit IIS installiert und festgestellt, dass IIS versucht hat, auf Framework64 zuzugreifen Dateien für die beleidigende Website. Ich habe die erweiterten Einstellungen des Anwendungspools überprüft und festgestellt, dass "32-Bit-Anwendungen aktivieren" auf "false" gesetzt ist. Das Ändern dieser Einstellung in "true" (wahr) erwies sich als die richtige Aktion. Das Leben ist gut.
Der beste Weg, um dieses Problem zu lösen, ist das Visual Studio als "Administrator" auszuführen. Klicken Sie mit der rechten Maustaste auf das Visual Studio-Symbol und wählen Sie "Als Administrator ausführen".
Sobald Sie Visual Studio mit vollen Administratorrechten öffnen, können Sie auf die Seite ohne Probleme zugreifen.