/CLRUNMANAGEDCODECHECK (Aggiunge SupressUnmanagedCodeSecurityAttribute)
/CLRUNMANAGEDCODECHECK specifica se il linker applicherà SuppressUnmanagedCodeSecurityAttribute alle chiamate PInvoke generate dal linker dal codice gestito alle DLL native.
/CLRUNMANAGEDCODECHECK[:NO]
Note
Per impostazione predefinita, il linker applica SuppressUnmanagedCodeSecurityAttribute alle chiamate PInvoke generate dal linker. Quando /CLRUNMANAGEDCODECHECK è in effetto, SuppressUnmanagedCodeSecurityAttribute non viene applicato.
Il linker si limita ad aggiungere l'attributo agli oggetti compilati con /clr o /clr:pure e non genera chiamate PInvoke in oggetti compilati con /clr:safe. Per ulteriori informazioni, vedere /clr (Compilazione Common Language Runtime).
Una chiamata PInvoke viene generata quando il linker non è in grado di trovare un simbolo gestito che soddisfi il riferimento da un chiamante gestito, ma solo un simbolo nativo. Per ulteriori informazioni su PInvoke, vedere Chiamata a funzioni native da codice gestito.
Se si utilizza AllowPartiallyTrustedCallersAttribute nel codice, è necessario impostare /CLRUNMANAGEDCODECHECK in modo esplicito. Un'immagine contenente entrambi gli attributi SuppressUnmanagedCodeSecurity e AllowPartiallyTrustedCallers rappresenta un potenziale problema di sicurezza.
Per ulteriori informazioni sulle conseguenze dell'utilizzo di SuppressUnmanagedCodeSecurityAttribute, vedere Ottimizzazioni della sicurezza.
Per impostare l'opzione del linker nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.
Espandere il nodo Proprietà di configurazione.
Espandere il nodo Linker.
Fare clic sulla pagina delle proprietà Avanzate.
Modificare la proprietà Controllo codice non gestito CLR.
Per impostare l'opzione del linker a livello di codice
- Vedere CLRUnmanagedCodeCheck.