Задача
Я использую стороннюю библиотеку внутри кода, который работает внутри безопасности с ограничением AppDomain
. Я сталкиваюсь с этим исключением System.Security.SecurityException: 'Request failed.'
в сторонней библиотеке, когда она вызывает метод StringBuilder.ToString()
. К счастью, у меня есть файлы pdb, чтобы увидеть, где происходит исключение.
Вопрос
Как определить, что IPermission
отсутствует в PermissionSet
, предоставленном для выполнения AppDomain
?
Обновление:
Не верьте, что отладчик рассказывает мне всю историю. Идет управляемый -> неуправляемый переход, который, я думаю, является подсказкой, что это действительно не имеет ничего общего с вызовом stringBuilder.
Несмотря на это, зайдя в вызов .NET Framework CodeAcessSecurityEngine.CheckSetHelper
, я обнаружил, что требовался PermissionSet
с неограниченным состоянием разрешений. Таким образом, в основном кажется, что мне придется запускать код моей библиотеки в режиме FullTrust. Ясно, что мне нужно лучше понять .net Code Access Security, чтобы полностью понять, что происходит.