/CLRUNMANAGEDCODECHECK
(Remover SuppressUnmanagedCodeSecurityAttribute)
/CLRUNMANAGEDCODECHECK
especifica que o vinculador não se aplica SuppressUnmanagedCodeSecurityAttribute a chamadas geradas PInvoke
pelo vinculador de código gerenciado em DLLs nativas.
Sintaxe
/CLRUNMANAGEDCODECHECK
/CLRUNMANAGEDCODECHECK:NO
Comentários
Por padrão, o vinculador aplica o SuppressUnmanagedCodeSecurityAttribute
atributo a chamadas geradas pelo PInvoke
vinculador. Quando /CLRUNMANAGEDCODECHECK
está em vigor, SuppressUnmanagedCodeSecurityAttribute
é removido. Para aplicar explicitamente o SuppressUnmanagedCodeSecurityAttribute
atributo a chamadas geradas PInvoke
pelo vinculador, você pode usar /CLRUNMANAGEDCODECHECK:NO
o .
O vinculador adiciona apenas o atributo a objetos compilados usando /clr
ou /clr:pure
. No entanto, a opção do compilador foi preterida /clr:pure
no Visual Studio 2015 e não tem suporte no Visual Studio 2017 e posterior.
Uma PInvoke
chamada é gerada pelo vinculador quando o vinculador não consegue encontrar um símbolo gerenciado para atender a uma referência de um chamador gerenciado, mas pode encontrar um símbolo nativo para atender a essa referência. Para obter mais informações sobre PInvoke
, confira Como chamar funções nativas do código gerenciado.
Se você usar AllowPartiallyTrustedCallersAttribute em seu código, deverá definir /CLRUNMANAGEDCODECHECK
explicitamente para remover o SuppressUnmanagedCodeSecurity
atributo. É uma vulnerabilidade de segurança potencial se uma imagem contiver os SuppressUnmanagedCodeSecurity
atributos e AllowPartiallyTrustedCallers
.
Para obter mais informações sobre as implicações do uso SuppressUnmanagedCodeSecurityAttribute
do , consulte Diretrizes de codificação segura para código não gerenciado.
Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para mais informações, consulte Definir propriedades de build e do compilador.
Selecione a página de propriedades Propriedades da Configuração>Vinculador>Avançado.
Modifique a propriedade Verificação de Código não Gerenciado CLR.
Para definir esta opção do vinculador por meio de programação
- Consulte CLRUnmanagedCodeCheck.