Castle Windsor no funciona bajo Medium Trust

Al intentar ejecutar una aplicación MVC de ASP.NET que utiliza Castle Windsor, se produce el siguiente error.

Error del servidor en la aplicación '/'.

Se violaron las reglas de seguridad de herencia al anular el miembro: 'Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()'. La accesibilidad de seguridad del método de anulación debe coincidir con la accesibilidad de seguridad del método que se sobrescribe.

Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.TypeLoadException: reglas de seguridad de herencia infringidas al anular el miembro: 'Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()'. La accesibilidad de seguridad del método de anulación debe coincidir con la accesibilidad de seguridad del método que se sobrescribe.

Error de fuente:

Se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar mediante el seguimiento de la pila de excepciones a continuación.

Traza de la pila:

[TypeLoadException: se violaron las reglas de seguridad de herencia al anular el miembro: 'Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()'. La accesibilidad de seguridad del método de anulación debe coincidir con la accesibilidad de seguridad del método que se sobrescribe.]
Castle.Windsor.WindsorContainer..ctor () +0

Las asambleasCastle.Core.dll yCastle.Windsor.dll se han construido a partir del código fuente disponible engithub. El código fuente de los ensamblajes incluye el archivo.SecurityAssemblyInfo.cs que tiene el siguiente código fuente:

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

He verificado utilizandoILSpy que elSystem.Security.AllowPartiallyTrustedCallers El atributo se declara en el ensamblaje en ambos archivos.

La aplicación web se está ejecutando con<trust level="Medium" />.

Respuestas a la pregunta(1)

Su respuesta a la pregunta