Замена не предусмотрена.
Как видно на странице документации SecurityManager
в MSDN, все методы, относящиеся к политикам, устарели.Причиной этого является тот факт, что политики теперь удаляются из CAS (ну, начиная с .Net4).Чтобы узнать больше об этой проверке здесь:
Сводка изменений в Code Access Security
При этом в описании этого предупреждения есть хорошая ссылка, которая предоставляетВы обладаете необходимой информацией, необходимой для изменения кода, и предложите возможные альтернативы:
Совместимость и миграция политики безопасности доступа к коду
Миграция: замена устаревших вызовов
Чтобы помочь вам лучше, нам нужно знать, чего именно вы здесь добиваетесь.Опишите вашу цель, и мы могли бы предложить альтернативу или замену.
На основании вашего комментария кажется, что вы пытаетесь сделать изолированную часть кода, вставленного пользователем (как выпоставить его) и ограничить его доступ.Это не то, для чего нужно использовать CAS.На самом деле, есть четкое предупреждение об этом типе использования в здесь :
Защита доступа к коду в .NET Framework не должна использоваться в качестве механизма для обеспечения безопасности на основе границо происхождении кода или других аспектах идентификации.
Ваш код, вероятно, должен быть реорганизован таким образом, чтобы получить разрешения, требуемые для фрагмента кода, с использованием предоставленного Evidence
(являющегося строгим именем или URL-адресом и т. д.) с помощью метода SecurityManager.GetStandardSandbox(Evidence)
, а затем с помощью возвращенных разрешений загрузите сборку в новый изолированный домен приложения с помощью метода CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])
.Вы также можете изменить эти разрешения перед созданием нового домена, чтобы иметь больше контроля над выполнением кода.Следующая статья может помочь вам реорганизовать ваше приложение:
Как: выполнить частично доверенный код в песочнице
Другими словами, больше нет политик, но вы можетеопределить, получить и выполнить ваш код в соответствии с определенным PermissionSet
.