При разработке с использованием ASP.net 2.0 (C #) и NHibernate 2.1.0
Я получаю сообщение об ошибке:
System.TypeInitializationException: The type initializer for 'NHibernate.ByteCode.LinFu.ProxyFactory' threw an exception. ---> System.Security.SecurityException: That assembly does not allow partially trusted callers.
Эта ошибка была выдана только на рабочий сервер (веб-хостинг), и в моей среде разработки все в порядке.
Я также запустил этот код ниже на рабочем сервере, чтобы увидеть уровень безопасности доступа к коду (CAS), и получил True от:
System.Security.SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted))
, поэтому я могу предположить, что в данный момент я работаю в режиме полного доверия.
После прочтения некоторых статей об этой проблеме (не специально для NHibernate)
Я понял, что мне нужно добавить
[assembly: AllowPartiallyTrustedCallers()]
в мой файл AssebmlyInfo.cs.
Мой вопрос:
Есть ли способ устранить это исключение, не редактируя файл NHibernate.ByteCode.LinFu.dll AssmeblyInfo.cs? Есть ли что-то, что можно настроить в файле web.config, чтобы разрешить подобные действия?
Спасибо
Tal.