Castle Windsor funktioniert nicht unter Medium Trust

Beim Versuch, eine ASP.NET MVC-Anwendung auszuführen, die Castle Windsor verwendet, tritt der folgende Fehler auf.

Serverfehler in '/' Anwendung.

Vererbungssicherheitsregeln, die beim Überschreiben des Mitglieds "Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()" verletzt wurden. Der Sicherheitszugriff der überschreibenden Methode muss mit dem Sicherheitszugriff der zu überschreibenden Methode übereinstimmen.

Beschreibung: Während der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Überprüfen Sie die Stapelablaufverfolgung, um weitere Informationen zu dem Fehler und dessen Ursprung im Code zu erhalten.

Ausnahmedetails: System.TypeLoadException: Vererbungssicherheitsregeln wurden beim Überschreiben des Mitglieds "Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()" verletzt. Der Sicherheitszugriff der überschreibenden Methode muss mit dem Sicherheitszugriff der zu überschreibenden Methode übereinstimmen.

Quellfehler:

Während der Ausführung der aktuellen Webanforderung wurde eine nicht behandelte Ausnahme generiert. Informationen zu Ursprung und Position der Ausnahme können mithilfe des folgenden Ausnahmestapel-Trace ermittelt werden.

Stack Trace:

[TypeLoadException: Vererbungssicherheitsregeln wurden beim Überschreiben des Mitglieds "Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()" verletzt. Der Sicherheitszugriff der überschreibenden Methode muss mit dem Sicherheitszugriff der zu überschreibenden Methode übereinstimmen.]
Castle.Windsor.WindsorContainer..ctor () +0

Die VersammlungenCastle.Core.dll undCastle.Windsor.dll wurden aus dem Quellcode erstellt, der am verfügbar istGithub. Der Quellcode für die Assemblys enthält die DateiSecurityAssemblyInfo.cs die den folgenden Quellcode hat:

// Sets up assembly level security settings
#if ! SILVERLIGHT
[assembly: System.Security.AllowPartiallyTrustedCallers]
#if DOTNET40
[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level2)]
#endif
#endif

Ich habe mit überprüftILSpy dass dieSystem.Security.AllowPartiallyTrustedCallers Das Attribut wird bei der Assembly für beide Dateien deklariert.

Die Webanwendung wird mit ausgeführt<trust level="Medium" />.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage