2010-04-19 7 views
6

estoy un poco perdido en erros así:C++/CLI: CA2123: ¿Requiere SecurityCriticalAttribute?

Advertencia 7 CA2123: Microsoft.Security : Agregue el siguiente atributo de seguridad a 'RithmicConnector :: connect (String ^)' con el fin de igualar un LinkDemand en la base método 'IConnector :: Connect (String ^)': 'SecurityCriticalAttribute'. c: \ work \ nettecture \ Tradex \ source \ tradex.connectivity.rithmic \ rithmicconnector.cpp 52 Tradex.Connectivity.Rithmic

¿Dónde añado el SecurityCriticalAttribute?

He intentado en el archivo de encabezado, pero el error no desaparece. Tengo uno de esos en casi todos los métodos expuestos de una DLL de interfaz (administrada por C++).

Y quiero que CA se ejecute.

¿Cómo puedo arreglar eso?

Saludos

Respuesta

4

Vas a tener que hacer dos cosas:

  1. Añadir [assembly: SecurityCritical] a la asamblea.
  2. Agregue el atributo [SecurityCritical] a los métodos específicos que contienen código crítico (o cualquier otra cosa que desee decorar).

Aquí hay una entrada de blog que podría ser útil Using Transparency in CLR