Versuch durch die Sicherheitsmethode 'PayPal.UserAgentHeader.get_OperatingSystemFriendlyName ()' für den Zugriff auf die sicherheitskritische Methode 'System.Management.ManagementObjectSearcher..ctor (System.String)' fehlgeschlagen.
%Vor% Diese stackoverflow-Antwort erwähnt das Hinzufügen der [SecuritySafeCritical]
-Attribut für die Klasse, aber in diesem Fall befindet sich die Klasse beim Spielen in einer DLL, die über NuGet geladen wird.
Gibt es globale Einstellungen, die ich verwenden kann, um diese Ausnahme zu umgehen?
Fügen Sie Ihrer web.config das folgende Tag hinzu:
%Vor%Die Server in Ihrem Hosting-Service sind wahrscheinlich mit einer mittleren Vertrauensstufe eingerichtet. Das 'PayPalCoreSDK' erfordert, dass Ihre Anwendung mit einer vollständigen Vertrauensstufe ausgeführt wird.
fügt dies zu assemblyinfo.cs
hinzu %Vor%das hat den Job für mich erledigt ....
In meinem Fall war es ein Problem, wenn ich ein NuGet-Paket in der Lösung verwaltet hat. Einige Pakete überschreiben die System.Web.Mvc-Assemblyversionsbindung im Hauptwebsite-Projekt. Setze zurück auf 4.0.0.0 (ich hatte 5.0 installiert). Ich habe die Änderung nicht bemerkt, weil Mvc v4.0 installiert und über GAC erreichbar war. Setzen Sie zurück
Ich arbeitete an einer Brownfield-Anwendung mit vielen referenzierten Projekten in der Lösung. Ein Projekt wurde auf .NET 4.0 statt auf 4.6.1 gesetzt, und ich dachte, dass es das könnte, aber das war nicht das Problem. Ich musste hinzufügen:
%Vor%in der Datei assembly.cs im Projekt mit der "security critical" -Methode, und es war nicht glücklich mit mir, bis ich auch
hinzugefügt habe %Vor%Das hat den Trick gemacht.
Joey