Castelo Windsor não funciona sob confiança média

Ao tentar executar um aplicativo ASP.NET MVC que usa o Castle Windsor, ocorre o seguinte erro.

Erro de Servidor na '/' Aplicação.

Regras de segurança de herança violadas enquanto sobrescrevendo o membro: 'Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()'. A acessibilidade de segurança do método de substituição deve corresponder à acessibilidade de segurança do método que está sendo substituído.

Descrição: ocorreu uma exceção não tratada durante a execução da solicitação da web atual. Revise o rastreamento de pilha para obter mais informações sobre o erro e onde ele foi originado no código.

Detalhes da exceção: System.TypeLoadException: regras de segurança de herança violadas enquanto sobrescrevendo membro: 'Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()'. A acessibilidade de segurança do método de substituição deve corresponder à acessibilidade de segurança do método que está sendo substituído.

Erro de origem:

Uma exceção não tratada foi gerada durante a execução da solicitação da web atual. Informações sobre a origem e a localização da exceção podem ser identificadas usando o rastreamento de pilha de exceção abaixo.

Rastreamento de pilha:

[TypeLoadException: regras de segurança de herança violadas durante a substituição do membro: 'Castle.MicroKernel.DefaultKernel.InitializeLifetimeService ()'. A acessibilidade de segurança do método de substituição deve corresponder à acessibilidade de segurança do método que está sendo substituído.]
Castle.Windsor.WindsorContainer..ctor () +0

As assembleiasCastle.Core.dll eCastle.Windsor.dll foram construídos a partir do código-fonte disponível nogithub. O código fonte para os assemblies inclui o arquivoSecurityAssemblyInfo.cs que tem o seguinte código-fonte:

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

Verifiquei usandoILSpy que oSystem.Security.AllowPartiallyTrustedCallers atributo é declarado no assembly em ambos os arquivos.

O aplicativo da web está sendo executado com<trust level="Medium" />.

questionAnswers(1)

yourAnswerToTheQuestion