Визуализация элемента управления создает исключение безопасности в.Net 4
У меня проблема с кодом, который работал нормально в.NET 2.0, но выдает эту ошибку в.Net 4.
Сборка (веб): правила безопасности наследования нарушены при переопределении члена: 'Controls.RelatedPosts.RenderControl(System.Web.UI.HtmlTextWriter)'. Доступность безопасности переопределенного метода должна соответствовать доступности безопасности переопределяемого метода.
Это в DotNetBlogEngine. В коде было несколько других требований безопасности, которые, похоже, не нравятся.NET 4.0. Я следовал советам, которые нашел в блогах (и здесь), и избавился от всех других ошибок. Но этот все еще ускользает от меня.
Основное ядро BlogEngine dll
больше не настроен для требований безопасности и также скомпилирован для.NET 4.0.
Эта ошибка на стороне веб-сайта, пытающегося использовать dll
, Есть элементы управления, которые вызывают RenderControl
метод взятия HtmlTextWriter
, По-видимому, теперь у текстового редактора есть некоторые мягкие атрибуты безопасности.
Каждый из элементов управления реализует собственный интерфейс (public interface ICustomFilter
), нет никаких требований безопасности или требований. Сайт работает с полным доверием на моей локальной машине разработчика.
Обновить:
Я пробовал различные настройки в пространстве имен безопасности в.NET 4, о котором я читал здесь. Я знаю, что это изменение безопасности доступа к коду, но я не понимаю, почему оно не работает (или сообщение об ошибке).
2 ответа
Установите этот атрибут [сборка: SecurityRules(SecurityRuleSet.Level1)]
ссылка: http://msdn.microsoft.com/en-us/library/dd233102%28VS.100%29.aspx
Единственное, что мне нужно было сделать для запуска в.net 4.0, это добавить ссылку на System.Web.ApplicationServices в проект Core.