2017-01-20 6 views
0

Я получаю эту ошибку от Nhibernate 4.1.0 в режиме выпуска с приложением C# ASP.NET на .NET 4.5.1:Получение правил безопасности наследования, нарушенных при переопределении элемента: «Antlr.Runtime.RecognitionException.GetObjectData ...» с NHibernate 4.1.0

Inheritance security rules violated while overriding member: 'Antlr.Runtime.RecognitionException.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)'. Security accessibility of the overriding method must match the security accessibility of the method being overriden. 

Будучи Antl3 дллами прилежащей Я не могу понять, в чем проблема

ответ

0

Этот stackoverflow post указал мне в правильном направлении.

мне нужно иметь версию Antl3 которая была GetObjectData отмечена SecurityCriticalAttribute и явно не версия поставляется с NHibernate 4.1.0 источников, так что я получил источники Antl3 от here и посмотрел на RecognitionException под Antl3.Runtime.net40- клиент и видел, что это было правильно:

 [SecurityCritical] 
    public override void GetObjectData(SerializationInfo info, StreamingContext context) 
    { 

Так я Bult его, заменил произведенный DLL в NHibernate-4.1.0.GA-Src \ Lib \ сетчатая папка и вуаля, теперь приложение запускается штраф