/CLRUNMANAGEDCODECHECK (Agregar SupressUnmanagedCodeSecurityAttribute)
//CLRUNMANAGEDCODECHECK especifica si el vinculador aplicará SuppressUnmanagedCodeSecurityAttribute a las llamadas PInvoke generadas por el vinculador desde el código administrado a archivos DLL nativos.
/CLRUNMANAGEDCODECHECK[:NO]
Comentarios
De forma predeterminada, el vinculador aplica SuppressUnmanagedCodeSecurityAttribute a las llamadas PInvoke generadas por el vinculador. Cuando /CLRUNMANAGEDCODECHECK está activo, no se aplica SuppressUnmanagedCodeSecurityAttribute.
El vinculador sólo agrega el atributo a objetos que se compilan con /clr o /clr:pure. El vinculador no genera llamadas PInvoke en objetos compilados con /clr:safe. Para obtener más información, vea /clr (Compilación de Common Language Runtime).
Una llamada PInvoke se genera mediante el vinculador cuando éste no encuentra un símbolo administrado que satisfaga una referencia desde un llamador administrado, pero sí que encuentra un símbolo nativo que satisface esa referencia. Para obtener más información sobre PInvoke, vea Llamar a funciones nativas desde código administrado.
Tenga en cuenta que si utiliza AllowPartiallyTrustedCallersAttribute en su código, debería establecer explícitamente /CLRUNMANAGEDCODECHECK. Si una imagen contiene los atributos SuppressUnmanagedCodeSecurity y AllowPartiallyTrustedCallers, se trata de una vulnerabilidad potencial de seguridad.
Vea Optimizaciones de seguridad para obtener más información sobre las implicaciones de utilizar SuppressUnmanagedCodeSecurityAttribute.
Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio
Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.
Expanda el nodo Propiedades de configuración.
Expanda el nodo Vinculador.
Seleccione la página de propiedades Avanzadas.
Modifique la propiedad Comprobación de código no administrado CLR.