/CLRUNMANAGEDCODECHECK
(Quitar SuppressUnmanagedCodeSecurityAttribute)
/CLRUNMANAGEDCODECHECK
especifica que el enlazador no se aplica SuppressUnmanagedCodeSecurityAttribute a las llamadas generadas por PInvoke
el enlazador desde código administrado a archivos DLL nativos.
Sintaxis
/CLRUNMANAGEDCODECHECK
/CLRUNMANAGEDCODECHECK:NO
Comentarios
De forma predeterminada, el enlazador aplica el SuppressUnmanagedCodeSecurityAttribute
atributo a las llamadas generadas por PInvoke
el enlazador. Cuando /CLRUNMANAGEDCODECHECK
está en vigor, SuppressUnmanagedCodeSecurityAttribute
se quita. Para aplicar explícitamente el SuppressUnmanagedCodeSecurityAttribute
atributo a las llamadas generadas por PInvoke
el enlazador, puede usar /CLRUNMANAGEDCODECHECK:NO
.
El enlazador solo agrega el atributo a los objetos compilados mediante /clr
o /clr:pure
. Sin embargo, la /clr:pure
opción del compilador está en desuso en Visual Studio 2015 y no se admite en Visual Studio 2017 y versiones posteriores.
El PInvoke
enlazador genera una llamada cuando el enlazador no encuentra un símbolo administrado para satisfacer una referencia de un autor de llamada administrado, pero puede encontrar un símbolo nativo para satisfacer esa referencia. Para más información, sobre PInvoke
, vea Llamar a funciones nativas desde código administrado.
Si usa AllowPartiallyTrustedCallersAttribute en el código, debe establecer /CLRUNMANAGEDCODECHECK
explícitamente para quitar el SuppressUnmanagedCodeSecurity
atributo . Es una posible vulnerabilidad de seguridad si una imagen contiene los SuppressUnmanagedCodeSecurity
atributos y AllowPartiallyTrustedCallers
.
Para obtener más información sobre las implicaciones de usar SuppressUnmanagedCodeSecurityAttribute
, vea Directrices de codificación segura para código no administrado.
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 más información, vea Establecimiento de las propiedades del compilador y la compilación.
Seleccione la página de propiedades Propiedades de configuración>Enlazador>Avanzado.
Modifique la propiedad Comprobación de código no administrado CLR.