Riflessione e attributi - la rimozione? Modifica? O servizio di Windows in pieno la fiducia?
-
25-09-2019 - |
Domanda
Voglio rimuovere le autorizzazioni di protezione da una classe non ho accesso alla fonte per. E 'possibile, attraverso la riflessione, rimuovere o modificare l'attributo?
[... PermissionSet (SecurityAction.InheritanceDemand, Name = "FullTrust"), PermissionSet (SecurityAction.LinkDemand, Name = "FullTrust")]
Dopo alcune considerazioni, che è venuto in mente che forse questo approccio al problema è sbagliato. C'è un modo per eseguire un servizio di Windows in piena fiducia in modo che i suoi permessi avrebbero soddisfare le esigenze di cui sopra?
Soluzione
No - NET riflessione è di sola lettura. Se si desidera modificare uno esistente assemblaggio, un'occhiata alla Mono Cecil , anche se la rimozione di un attributo e sostituzione il gruppo eliminerebbe qualsiasi nome forte firma su di esso
Altri suggerimenti
È sempre possibile creare una classe wrapper e dare la classe wrapper autorizzazioni più limitate.