Il existe trois options différentes de permission_set qui limitent ce que l'assembly peut faire
SAFE
- Limite l'assembly au code managé
EXTERNAL_ACCESS
- permet l'accès aux fichiers, ressources réseau, etc.
UNSAFE
- Accès illimité - y compris l'exécution de code non géré
MSDN docs donnent les conseils suivants
Si votre assemblage n'utilise que les fonctionnalités de .NET 3.5, je ne vois pas pourquoi il aurait besoin de UNSAFE
accès.
Il est possible que vous utilisiez l'un des types ou membres non autorisés de la bibliothèque System.Core. Microsoft en a une liste. Types et membres non autorisés dans System.Core.dll
Il y a plus d'informations ici. Attributs de protection de l'hôte et programmation d'intégration CLR