Ci sono tre diverse opzioni di set_di_permessi che limitano ciò che l'assembly può fare
SAFE - Limita l'assembly al codice gestito
EXTERNAL_ACCESS - consente l'accesso a file, risorse di rete, ecc.
UNSAFE - Accesso illimitato - inclusa l'esecuzione di codice non gestito
MSDN i documenti forniscono le seguenti indicazioni
Se il tuo assembly utilizza solo le funzionalità di .NET 3.5, non vedo perché dovrebbe aver bisogno di UNSAFE accesso.
È possibile che tu stia utilizzando uno dei tipi o membri non consentiti dalla libreria System.Core. Microsoft ha un elenco di questi. Tipi e membri non consentiti in System.Core.dll
Ci sono alcune informazioni in più qui. Attributi di protezione host e programmazione integrazione CLR