Partager via


/CLRUNMANAGEDCODECHECK (Remove SuppressUnmanagedCodeSecurityAttribute)

/CLRUNMANAGEDCODECHECK spécifie que l’éditeur de liens ne s’applique SuppressUnmanagedCodeSecurityAttribute pas aux appels générés par PInvoke l’éditeur de liens à partir de code managé dans des DLL natives.

Syntaxe

/CLRUNMANAGEDCODECHECK
/CLRUNMANAGEDCODECHECK:NO

Notes

Par défaut, l’éditeur de liens applique l’attribut SuppressUnmanagedCodeSecurityAttribute aux appels générés par PInvoke l’éditeur de liens. Lorsqu’elle /CLRUNMANAGEDCODECHECK est en vigueur, SuppressUnmanagedCodeSecurityAttribute est supprimée. Pour appliquer explicitement l’attribut aux appels générés par l’éditeur SuppressUnmanagedCodeSecurityAttribute de liens, vous pouvez utiliser /CLRUNMANAGEDCODECHECK:NO.PInvoke

L’éditeur de liens ajoute uniquement l’attribut aux objets compilés à l’aide /clr ou /clr:pure. Toutefois, l’option /clr:pure du compilateur est déconseillée dans Visual Studio 2015 et non prise en charge dans Visual Studio 2017 et versions ultérieures.

Un PInvoke appel est généré par l’éditeur de liens lorsque l’éditeur de liens ne trouve pas de symbole managé pour satisfaire une référence à partir d’un appelant managé, mais peut trouver un symbole natif pour satisfaire cette référence. Pour plus d’informations sur PInvoke, consultez Appel à des fonctions natives à partir de code managé.

Si vous utilisez AllowPartiallyTrustedCallersAttribute votre code, vous devez définir /CLRUNMANAGEDCODECHECK explicitement pour supprimer l’attribut SuppressUnmanagedCodeSecurity . Il s’agit d’une vulnérabilité de sécurité potentielle si une image contient à la fois les attributs et AllowPartiallyTrustedCallers les SuppressUnmanagedCodeSecurity attributs.

Pour plus d’informations sur les implications de l’utilisation SuppressUnmanagedCodeSecurityAttribute, consultez instructions de codage sécurisé pour le code non managé.

Pour définir cette option de l'éditeur de liens dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriétés du projet. Pour plus d’informations, consultez Définir les propriétés du compilateur et de la génération.

  2. Sélectionnez la page de propriétés Avancées de l’Éditeur >de propriétés>de configuration.

  3. Modifiez la propriété Vérification du code non managé CLR.

Pour définir cette option de l'éditeur de liens par programmation

  1. Consultez CLRUnmanagedCodeCheck.

Voir aussi

Informations de référence sur l’éditeur de liens MSVC
Options de l’éditeur de liens MSVC