/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 às chamadas geradas PInvoke
pelo vinculador. Quando /CLRUNMANAGEDCODECHECK
estiver em vigor, SuppressUnmanagedCodeSecurityAttribute
é removido. Para aplicar explicitamente o atributo às chamadas geradas PInvoke
pelo vinculador, você pode usar /CLRUNMANAGEDCODECHECK:NO
o SuppressUnmanagedCodeSecurityAttribute
.
O vinculador só adiciona o atributo a objetos que são compilados usando /clr
ou /clr:pure
. No entanto, a opção de /clr:pure
compilador foi preterida 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 satisfazer uma referência de um chamador gerenciado, mas pode encontrar um símbolo nativo para satisfazer 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, você deve 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.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de