Reflexión y atributos - la eliminación? ¿modificación? O servicio de Windows en su totalidad la confianza?
-
25-09-2019 - |
Pregunta
Quiero quitar los permisos de seguridad de una clase que no tengo acceso a la fuente de. ¿Es posible, por medio de la reflexión, quitar o modificar el atributo?
[... PermissionSet (SecurityAction.InheritanceDemand, Name = "FullTrust"), PermissionSet (SecurityAction.LinkDemand, Name = "FullTrust")]
Después de algunas consideraciones, se me ocurrió que tal vez esta aproximación al problema es erróneo. ¿Hay una forma de ejecutar un servicio de Windows en plena confianza para que sus permisos podrían satisfacer las demandas anteriores?
Solución
No - .NET reflexión es de sólo lectura. Si desea editar un ensamblaje existente, vistazo a Mono Cecil , a pesar de la eliminación de un atributo y la sustitución la asamblea eliminaría cualquier nombre fuerte firma en él
Otros consejos
Siempre se puede crear una clase contenedora y dar la clase contenedora permisos más restringidos.